TCP/IP
chinawqf
这个作者很懒,什么都没留下…
展开
-
TCP网络编程中connect()、listen()和accept()三者之间的关系
基于 TCP 的网络编程开发分为服务器端和客户端两部分,常见的核心步骤和流程如下:connect()函数对于客户端的 connect() 函数,该函数的功能为客户端主动连接服务器,建立连接是通过三次握手,而这个连接的过程是由内核完成,不是这个函数完成的,这个函数的作用仅仅是通知 Linux 内核,让 Linux 内核自动完成 TCP 三次握手连接(三次握手详情,请看《浅转载 2016-08-29 20:17:51 · 488 阅读 · 0 评论 -
UNIX网络编程--非阻塞connect的实现
一、《UNIX网络编程》-非阻塞connect 在一个TCP套接口被设置为非阻塞之后调用connect,connect会立即返回EINPROGRESS错误,表示连接操作正在进行中,但是仍未完成;同时TCP的三路握手操作继续进行;在这之后,我们可以调用select来检查这个链接是否建立成功;非阻塞connect有三种用途: 1.我们可以在三路握手的同时做转载 2016-08-30 14:30:49 · 554 阅读 · 0 评论 -
SIGPIPE信号详解
SIGPIPE信号详解当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。我写了一个服务器程序,在Linux下测试,然后用C++写了客户端用千万级别数量的短链接进行压力测试. 但是服务器总是莫名退出,没有cor转载 2016-09-03 10:22:03 · 364 阅读 · 0 评论 -
TCP的11种状态
2、全部11种状态 2.1、客户端独有的:(1)SYN_SENT (2)FIN_WAIT1 (3)FIN_WAIT2 (4)CLOSING (5)TIME_WAIT 。 2.2、服务器独有的:(1)LISTEN (2)SYN_RCVD (3)CLOSE_WAIT (4)LAST_ACK 。 2.3、共有的:(1)CLOSED (2)ESTABLISHED转载 2016-08-26 17:19:55 · 631 阅读 · 0 评论