pythonsocket自定义协议_python网络编程之socket

一、socket是什么

在TCP/IP五层协议中,工作在应用层的软件程序要想把它的数据发送给网络另一端的计算机并让那台计算机能把接收到的数据正常解析出来传递给对应的程序就需要按照互联网协议在数据的前面依次加上每一层的头部信息,如果这个过程让程序员自己去完成就需要去了解每一层的协议的工作原理,这无疑是非常耗费时间的极大的降低开发效率,因此前人为了避免这种情况就在应用层和下面四层之间加入了socket层。socket层对下四层做了封装并给开发人员提供了方便使用的接口,开发人员只需要遵循socket的规则去写程序,socket就会帮助我们把程序的数据加上应该有的下四层的头部信息,所以我们无需再为数据的封装操心了。

二、TCP协议的socket使用方法

服务端基本格式:

importsocket

phone=socket.socket() #创建socket对象,默认参数为family=AF_INET(基于网络的套接字家族), type=SOCK_STREAM(使用TCP/IP协议),可以修改

phone.bind(('127.0.0.1',8081)) #服务端绑定IP和端口,方便客户端连接

phone.listen() #监听是否有客户端试图连接

whileTrue:

conn,addr=phone.accept() #建立连接,返回值是一个包含连接对象以及客户端IP、端口元祖的大元祖

whileTrue:try:

data=conn.recv(1024) #接收数据,bytes类型

conn.send(data.upper()) #发送数据,bytes类型

exceptException:breakconn.close()#关闭连接</

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值