网络编程
大兵_xd
这个作者很懒,什么都没留下…
展开
-
Socket编程:Socket、TCP和UDP基础
1.TCP(Transmission Control Protocol)三次握手/四次挥手功能:通信双方必须互相确定对方的存在下载文件;数据完整性要求高;数据可靠性要求高;传输性能要求低2.UDP(User Datagram Protocol)No. 分类 举例 1 单播(unicast) 私聊,爱奇艺视频 2 广播(broadcast...原创 2019-06-29 11:16:42 · 181 阅读 · 0 评论 -
Socket编程:TCP和UDP之C/S搭建
TCP基本流程No. C/S 函数 1 Server socket()、bind()、listen()、accept()、recv()/read()、send()/write() 2 Client socket()、connect()、send()/write()、recv()/read() 服务器:int socket(int do...原创 2019-06-29 16:24:35 · 270 阅读 · 0 评论 -
TCP状态转换图
上半部分是TCP三路握手过程的状态变迁,下半部分是TCP四次挥手过程的状态变迁。CLOSED:起始点,在超时或者连接关闭时候进入此状态,这并不是一个真正的状态,而是这个状态图的假想起点和终点。 LISTEN:服务器端等待连接的状态。服务器经过 socket,bind,listen 函数之后进入此状态,开始监听客户端发过来的连接请求。此称为应用程序被动打开(等到客户端连接请求)。 SYN...原创 2019-06-29 15:20:51 · 233 阅读 · 0 评论 -
Linux网络编程:I/O复用(更新ing...)
阻塞IO操作通常IO操作(比如read和write)都是阻塞I/O的,当调用read时,如果没有数据收到,线程或者进程就会被挂起,直到收到数据。1. IO多路复用内核驱动实现 使用一个线程来检查I/O流(Socket)的就绪状态。通过记录跟踪每个I/O流(Socket)的状态,来同时管理多个I/O流 。优点:开销低 缺点:编程复杂度高1.1 Select模式1....原创 2019-06-30 16:25:32 · 383 阅读 · 0 评论 -
IPC通信--管道、消息队列、共享内存
管道两个进程通信pipe,两个半双工管道int pipe(int fd[2]);管道1:父fd1[1]->pipe1->子fd1[0]管道2:子fd2[1]->pipe2->父fd2[0]//建立管道读写文件描述符int fd1[2], fd2[2];pid_t childpid;//创建两个管道pipe(fd1);pipe(fd2);//fork/...原创 2019-07-16 09:13:29 · 178 阅读 · 0 评论