不要害怕困难,这是你进步的机会! 读完本文你将了解: OSI 七层网络模型 TCPIP 四层模型 TCP 协议 TCP 的三次握手 TCP 的四次挥手 UDP 协议 Socket 简介 Socket 的基本操作 使用 TCP 通信的 Socket 流程 使用 UDP 通信的 Socket 流程 使用 TCP 通信的 Socket 实现跨进程聊天 创建服务端 TCPServerService 在客户端中建立连接收发数据 运行结果 代码地址 Thanks 前面几篇文章我们介绍了 AIDL .Bind…
图文详解 Android Binder跨进程通信机制 原理 目录 目录 1. Binder到底是什么? 中文即 粘合剂,意思为粘合了两个不同的进程 网上有很多对Binder的定义,但都说不清楚:Binder是跨进程通信方式.它实现了IBinder接口,是连接 ServiceManager的桥梁blabla,估计大家都看晕了,没法很好的理解 我认为:对于Binder的定义,在不同场景下其定义不同 定义 在本文的讲解中,按照 大角度 -> 小角度 去分析Binder,即: 先从 机制.模型的角度 去…
首先引申下AIDL.什么是AIDL呢?IPC? ------ Designing a Remote Interface Using AIDL 通常情况下,我们在同一进程内会使用Binder.BroadCastReciver让Service跟Activity进行通信.数据交互,数据共享.可是跨进程呢? IPC:IPC接口,IPC接口本地代理  ------  Implementing IPC Using AIDL AIDL意为:Android Interface Define Language 即…
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 建立网络通信连接至少要一对端口号(socket).socket本质是编程接口(API) 主要内容: 1.基于TCP协议下的socket通信流程 2.基于UDP协议下的socket通信流程 3.粘包现象 1.基于TCP协议下的socket通信流程 (1)TCP和UDP的对比 TCP(Transmission Control Protocol)可靠的.面向连接的协议(eg:打电话).传输效率低全双工通信(发送…
Interprocess Communication Android offers a mechanism for interprocess communication (IPC) using remote procedure calls (RPCs), in which a method is called by an activity or other application component, but executed remotely (in another process), wit…
目标: 1.编写TCP服务端客户端,实现客户端发送数据,服务端接收打印 2.采用OOP方式编写TCP服务端客户端,实现客户端发送数据,服务端添加时间戳,返回给客户端 3.采用OOP方式编写UDP服务端客户端,实现客户端发送数据,服务端添加时间戳,返回给客户端. 1.编写TCP服务端客户端,实现客户端发送数据,服务端接收打印 服务端代码如下: [root@localhost python]# cat tcpserver.py #!/usr/bin/env python # -*- coding:…
不花时间打基础,你将会花更多时间解决那些不必要的问题. 读完本文你将了解: RPC 是什么 IDL 是什么 IPC 是什么 Android 几种进程通信方式 如何选择这几种通信方式 Thanks RPC 是什么 RPC 即 Remote Procedure Call (远程过程调用) 是一种计算机通讯协议,它为我们定义了计算机 C 中的程序如何调用另外一台计算机 S 的程序,让程序员不需要操心底层网络协议,使得开发包括网络分布式多程序在内的应用程序更加容易. RPC 是典型的 Client/Se…
测试IPv6 ready logo   rfc 3315的时候,遇到一个问题,要求在收到ICMPv6 RA的时候,DHCPv6  Client要发Solicit消息.在平常的应用中,都是启动DHCPv6  Client后,client每隔一段时间就会发送Solicit,而并不是要在收到RA的时候发送.于是就修改了下kernel和client的代码,使得在kernel收到RA消息时,发送消息给DHCPv6  Client,使client发送Solicit. 思路为:使用netlink_kernel…
CmProcess 是 Android 一个跨进程通信框架,整体代码比较简单,总共 20 多个类,能够很好的便于我们去了解跨进程实现的原理. 个人猜测 CmProcess 也是借鉴了 VirtualApp(该 APP 很强大,是一个沙盒,可以在里面安装其他 apk) 的源码,从中整理出来一套通信方案.VirtualAPP 功能很强大,实现比较复杂,需要较深的 framework 方面的知识才好理解. 按作者所说,CmProcess 是更方便更简洁的 Android 进程通信方案,无需进行 bin…
网络基础概览 socket概览 socket模块—TCP/UDP的实现 TCP/UDP总结 网络基础概览 osi七层协议各层主要的协议 # 物理层传输电信号1010101010 # 数据链路层,以太网协议,arp协议.对这些信号进行分组,同时规范了分组形式--以太网协议,头部是mac地址中间是信息, # 网络层:ip协议,arp协议帮忙找到mac地址,ip,子网掩码,网关(下面有一些简单概括) # 传输层:tcp协议,udp协议 # (socket)就是一组接口,将复杂的tcp协议和udp协议隐…