第一章 TCP和UDP套接口建立步骤
(1)TCP建立步骤:(以IPv4为例)
1.1客户端链接步骤:
socket()函数建立可用的套接口;
填充sockaddr_in结构体(字段参见,第二章1节);
connect()函数与服务器建立连接,将触发三次握手过程;
read()函数和write()函数进行读写操作;
1.2服务器段链接步骤:
socket()函数建立可用的套接口;
填充sockaddr_in结构体(字段参见,第二章1节);其中sin_addr.s_addr一般设置为INADDR_ANY表示服务器端将把任何本地可用的IP地址作为源IP地址填入IP数据报中;
bind()函数,在套接口上绑定;
listen()函数,监听套接口;
在迭代服务器中一般就是在一个死循环中accept()函数依次给客户机服务,read()和write()函数进行读写操作;
close()函数关闭已链接套接字;
(2)UDP建立步骤:
2.1客户端建立步骤:
socket()函数建立可用的套接口;
填充sockaddr_in结构体(以IPV4为例)
使用sendto()函数向服务器端发送数据
使用recvfrom()函数从服务器端接收数据
close()掉套接口
2.2服务器端建立步骤
socket()函数建立可用的套接口;
填充sockaddr_in结构体(以IPV4为例)
bind()函数将该套接口绑定在众所周知的端口上
使用recvfrom()函数接收客户端发送过来的数据
//对客户端发送过来的数据进行逻辑处理
使用sendto()函数将经过处理的数据发送回客户端
小结:recvfrom函数还是采用常用的IO阻塞模式。