sockets编程主要3中方式:SOCK_STREAM 数据流方式(TCP), SOCK_DGRAM 数据包方式(UDP), SOCK_RAW 原始套接字。
在socket编程中,TCP传输和UDP传输有哪些不同呢?
UDP是面向无连接方式进行传输,TCP是面向可靠连接方式进行传输,因此在操作方式上TCP要复杂于UDP。
TCP的操作思路:
服务端:
建立socket
bind :将服务器的地址信息,包括ip地址和端口bind到socket
listen : 侦听服务器的端口,同时设置可连接数
accept: 等待数据的到来
send/recv: 发送接收数据
客户端
建立socket
bind : (这个操作一般不用,如果需要限制本地数据用哪个端口进行发送,则进行bind)
connect: 连接服务器
send/recv: 发送接收数据
UDP的操作思路:
服务端:
建立socket
bind
sendto/recvfrom
客户端:
建立socket
bind(一般不用)
sendto/recvfrom