TCP/UDP

在TCP网络编程中,客户端通过`connect()`触发第一次握手,而服务器在接收到连接请求后,回复确认信息。三次握手完成后,服务器的`accept()`函数取出完成握手的客户端文件描述符进行通信。`listen()`函数用于设置服务器最大客户端连接数,防止恶意请求占用资源。
摘要由CSDN通过智能技术生成

TCP的三次握手具体发生在哪个函数中

在Linux编程中,在进行TCP网络编程时,通常分为客户端和服务器端两个模块.
客户端:

  1. fd=socket(); //利用socket生成文件描述符fd;
  2. bind(); //利用bind进性端口绑定(这里也可以不进行绑定,不绑定则随机分配,由于客户端不需要特定的端口,所以一般不进行绑定)
  3. newfd=connect(); //利用connect函数向服务器发送请求,请求成功后会返回一个新的文件描述符
  4. send(newfd,buf,length,0);//利用newfd向服务器发送数据
  5. recv();接收服务器发来的数据

服务器

  1. fd=socket(); //利用socket生成文件描述符fd;
  2. bind(); //绑定服务器对外提供的端口
  3. listen();设置服务器监听的客户端的数量,主要是为了防止恶意请求对Linux内核性能的破坏,下面会具体说
  4. clientfd=accept();//接受客户端请求,返回客户端fd,以供服务器与客户端建立连接
  5. send();recv();//与客户端类似

三次握手

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值