三次握手
由client主动发出SYN请求, 此时client处于SYN_SENT状态(第一次握手)
当server收到之后会由LISTEN转变为SYN_REVD状态, 并回复client, client...收到应答后处于ESTABLISHED状态, 这个状态就表示client已经准备好通信了(第二次握手)
client收到二次握手应答后回复server, server收到应答之后也处于ESTABLISHED..., 表示握手成功, 可以通信了(第三次握手)
数据传输
然后client和server都处于通信状态, 不会改变
四次挥手
client主动发送FIN请求关闭, 此时client处于FIN_WAIT_1...server会紧接着发送FIN断开请求, 并处于LAST_ACK(第三次挥手)
client收到之后并应答, 此时处于TIME_WAIT状态, 这是主动断开的一端的最后一个状态, 意思是会等待一定的时间...int serv_sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
//将套接字和IP、端口绑定
struct sockaddr_in