浅析TCP通信原理

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,端口号&#
  • 9
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值