首页IT科技tcp套接字连接(基于tcp协议的套接字通信)

tcp套接字连接(基于tcp协议的套接字通信)

时间2025-05-05 17:58:04分类IT科技浏览4170
导读:1、套接字socket简介 Socket是应用层与TCP/UDP协议通信的中间软件抽象层,它充当一种接口的角色!封装了传输层以下的东西。...

1             、套接字socket简介

Socket是应用层与TCP/UDP协议通信的中间软件抽象层             ,它充当一种接口的角色!封装了传输层以下的东西            。

1.1基于tcp的socket通信流程图

2.tcp服务端搭建

需求:模拟两个手机的通话

from ipaddress import IPv4Address import socket # 1.买手机 # socket.AF_INET 指定使用的IPv4地址 # socket.SOCK_STREAM 指定是tcp协议                  ,流式协议      ,这里发过来的数据像水流粘在一起       ,所以会带来粘包问题 # socket.SOCK_DGRAM 指定的是udp协议                  ,每一份数据都有分隔            ,所以不会带来粘包问题 phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 2.绑定手机卡 # 内部是参数是一个元组       ,第一参数为服务端自己对应的ip地址                   ,第二个参数为需要绑定的端口 phone.bind((127.0.0.1,8080)) # 3.开机--开启监听(把套接字由主动设置为被动模式) phone.listen(5) # 5指的是半连接池的大小            ,最大允许128个连接 # 4.等待电话连接请求 while True: # 加上链接循环 conn ,client_addr = phone.accept() # 返回的是一个元组,分别为                   ,可以通过元组解包的形式得到具体的值 # conn 新的套接字                  ,指的是服务当前的客户端套接字 # client_addr 客户端端口和ip地址 # 5.收/发信息 while True: data = conn.recv(1024) # 最大接收的数据量为1024Bytes,收到的也是Bytes类型 conn.send(data.upper()) # 6.关闭电话连接conn conn.close()

3.tcp客户端搭建

import socket # 1.买电话(与服务端建立连接) phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 2.拨通服务端电话 # conneect里面是一个元组             ,第一个参数是服务端绑定的ip                  ,第二参数是服务端绑定的端口 phone.connect((127.0.0.1      ,8080)) # 3.发送信息 while True: msg = input() if msg == quit: break phone.send(“msg            ”.encode(utf-8)) phone.send(hello world.encode(utf-8)) # 4.接收消息 # recv_data 是接收到的数据的二进制             ,需要decode(utf-8)解码获取到数据 recv_data =phone.recv(1024) # 5.关闭连接 phone.close()

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
dmmdzz.exe(dmremote.exe进程安全吗 dmremote是什么进程)