socket 编程TCP,UDP建立连接过程详解

本文详细介绍了TCP和UDP的socket编程过程。对于TCP,通过三次握手建立连接,包括服务器的socket创建、bind、listen、accept和客户端的socket创建、connect。数据传输后,双方关闭连接。而UDP作为无连接协议,直接发送数据报,服务器和客户端的流程包括socket、bind、sendto和recvfrom,不涉及连接建立和关闭。
摘要由CSDN通过智能技术生成

1,TCP是面向连接的协议,建立的过程使用三次握手协议,大概过程是客户机发送数据请求给服务机,告诉服务机,我有数据需要发送,服务机收到请求,发送一个确认请求回复,告诉客户机你发的请求我已经收到,客户机收到该请求也向服务机发送一个确认请求回复,告诉服务机我收到了。具体的socket编程流程如下所示:

服务器端:

socket()       建立socket连接,生成一个socket文件描述符,此时未分配ip和端口号

bind()          服务器端绑定需要监听的ip和端口号

listen()        对服务器绑定的ip和端口进行监听,看是否有客户端的请求

accept()      客户端发送connect请求,请求连接,服务器accept接受客户端连接请求,此时又分配ip和端口号用于客户端和服务器进行通信,之前分配的主要用于监听

rec()            接收客户端发送的需要处理的数据

send()        数据处理完返回给客户端进行显示处理等操作

close()       数据传输完成,关闭socket连接

客户端:

socket()      建立socket连接,生成一个socket文件描述符,此时未分配ip和端口号

connect()    当客户端有连接请求时,发送connect给服务器请求建立连接

send()         连接建立发送数据

rec()             接收服务器处理完成的数据

close()         数据传输完成,关闭socket连接

以上是TCP基于连接的三次握手协议流程,接下来介绍基

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值