socket流程

本文详细介绍了网络通讯的七层框架,并讲解了TCP和UDP协议的特点。Socket作为实现这两种协议的接口,其创建、连接和通信过程也在文中进行了阐述,包括服务器的监听、客户端的连接以及数据的发送与接收。同时,给出了Python中使用socket进行网络通信的常见方法。
摘要由CSDN通过智能技术生成

OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)
网络通讯步骤:确定对端IP地址→ 确定应用程序端口 → 确定通讯协议
操作系统有0-65535个端口 1024前端口系统自动分配用了

UDP:User Datagram Protocol用户数据报协议面向无连接:传输数据之前源端和目的端不需要建立连接。现实生活实例:邮局寄件、实时在线聊天、视频会议…等。
每个数据报的大小都限制在64K(8个字节)以内。面向报文的不可靠协议。(即:发送出去的数据不一定会接收得到)传输速率快,效率高。
TCP:Transmission Control Protocol传输控制协议,面向连接:传输数据之前需要建立连接。
在连接过程中进行大量数据传输。通过“三次握手”的方式完成连接,是安全可靠协议。传输速度慢,效率低。
Socket是实现TCP,UDP协议的接口,便于使用TCP,UDP

socket通信流程描述: # 应用程序两端通过“套接字”向网络发出请求或者应答网络请求。可以把socket理解为通信的把手(hand)
1 服务器根据地址类型(ipv4,ipv6)、socket类型、协议创建socket
2 服务器为socket绑定ip地址和端口号
3 服务器socket监听端口号请求,随时准备接收客户端发来的连接,这时候服务器的socket并没有被打开
4 客户端创建socket
5 客户端打开socket,根据服务器ip地址和端口号试图连接服务器socket
6 服务器socket接收到客户端socket请求,被动打开,开始接收客户端请求,直到客户端返回连接信息。这时候socket进入阻塞状态,所谓阻塞即a

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值