TCP通信
TCP
是面向连接的通信,所以在通信之前,客户端与服务器端必须通过三次握手建立连接,然后在通信完毕,还要通过四次挥手断开连接。
(一)相关函数
1.创建套接字
domain
:地址类型,
ipv4
、
ipv6
、
unix
的地址类型分别定义为常数
AF_INET
、
AF_INET6
、
AF_UNIX.
type
:socket传输类型,tcp通信是面向字节流的,所以为SOCK_STREAM
在网络通信时,我们的数据要从本主机通过网络发送到对端主机,数据在内存中存放的形式有大端或者小端两种形式,所以在向网络中传输数据是,网络就要按照一定的规定收发数据。
TCP/IP协议规定,网络字节流应按照大端字节流,即低地址高字节。
网络数据流的地址规定:先发出的数据是低地址,后发出的数据是高低址,因为网络字节流为大端,也就是先发送数据的高位字节,在发送低位字节。
2.为了代码的可移植性,下面库函数为实现网络字节序列到主机字节序列的转换。
h = host主机
n = network网络
l = 长整形
s = 短整形
htonl代表主机字节序转换成网络字节序
3.将套接字与socket结构体绑定,socket结构体会指定ip,端口号&#