Python socket怎么实现服务端和客户端数据传输
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,今天小编给大家分享一下Python socket怎么实现服务端和客户端数据传输的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文
千家信息网最后更新 2025年02月23日Python socket怎么实现服务端和客户端数据传输
今天小编给大家分享一下Python socket怎么实现服务端和客户端数据传输的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
socket服务端和客户端数据传输(TCP)
服务器端:
import socket#创建一个socket对象socket_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)host = "127.0.0.1"port = 9999#绑定地址socket_server.bind((host, port))#设置监听socket_server.listen(5)# socket_server.accept()返回一个元组, 元素1为客户端的socket对象, 元素2为客户端的地址(ip地址,端口号)client_socket, address = socket_server.accept()#while循环是为了让对话持续while True: #接收客户端的请求 recvmsg = client_socket.recv(1024) #把接收到的数据进行解码 strData = recvmsg.decode("utf-8") #设置退出条件 if strData == 'q': break print("接收: %s" % strData) #输入 msg = input("发送: ") #发送数据,需要进行编码 client_socket.send(msg.encode("utf-8"))#关闭服务器端socket_server.close()
客户端:
import socket#创建一个socket对象client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)host = "127.0.0.1"port = 9999#连接服务端client.connect((host, port))while True: send_msg = input("发送: ") #设置退出条件 if send_msg == "q": break send_msg = send_msg #发送数据,编码 client.send(send_msg.encode("utf-8")) #接收服务端返回的数据 msg = client.recv(1024) #解码 print("接收:%s", % msg.decode("utf-8"))#关闭客户端client.close()
流程图
socket服务端,客户端互相通信
利用socket传递参数,把运行的程序与客户端结合,先启动服务端,再启动客户端。基础代码如下:
服务端代码
import socketimport timeprint("服务端开启")#创建套接字mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)#设置IP和端口#host = socket.gethostname()host = '127.0.1.1'port = 3333#bind绑定该端口mySocket.bind((host, port))#监听mySocket.listen(10)while True: #接收客户端连接 print("等待连接....") client, address = mySocket.accept() print("新连接") print("IP is %s" % address[0]) print("port is %d\n" % address[1]) while True: #发送消息 msg = input("服务端发送:") client.send(msg.encode(encoding='utf-8')) print("发送完成") print (time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))#格式化时间戳为标准格式 if msg == "EOF": break if msg == "quit": client.close() mySocket.close() print("程序结束\n") exit() #读取消息 msg = client.recv(1024) print("服务端接收:",msg.decode("utf-8"))#把接收到的数据进行解码 print("读取完成") if msg == b"EOF": break if msg == b"quit": client.close() mySocket.close() print("程序结束\n") exit()
客户端代码:
import socketprint("客户端开启")#创建套接字mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)#设置ip和端口#host = socket.gethostname()host = '127.0.1.1'port = 3333 try: mySocket.connect((host, port)) ##连接到服务器 print("连接到服务器")except : ##连接不成功,运行最初的ip print ('连接不成功') while 1: #接收消息 msg = mySocket.recv(1024) print("客户端接收:%s" % msg.decode("utf-8"))#把接收到的数据进行解码 print("读取完成") if msg == b"EOF": break if msg == b"quit": mySocket.close() print("程序结束\n") exit() #发送消息 msg = input("客户端发送:") mySocket.send(msg.encode(encoding='utf-8')) print("发送完成") if msg == "EOF": break if msg == "quit": mySocket.close() print("程序结束\n") exit() print("程序结束\n")
以上就是"Python socket怎么实现服务端和客户端数据传输"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
客户
服务
客户端
数据
程序
utf-8
服务器
消息
知识
篇文章
数据传输
传输
代码
地址
对象
端口
端的
成功
元素
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
安图网络安全
车辆使用记录表数据库
阿里云服务器的功能
通信系统下软件开发环境
建设银行显示服务器不可用
信息网络安全运行会商制度
人脸识别casia数据库
华为云服务器云计算
计算机网络技术问答题
中学生网络安全博览会
网络安全措施重要性
职场软件开发
互联网发布黑科技
家用服务器配多显示器鼠标键盘
台湾机器人网络技术有限公司
上海商学院数据库原理与应用
iqoo手机无线网络安全检测
四川古意软件开发有限公司邓均文
通过学习网络安全教育的收获
游戏登录显示账号与服务器断开
谷歌网络技术专业怎么样
工业能源管理系统软件开发咨询
数据库考核试题
html内嵌数据库
楚雄gpu云服务器价格
Ciio网络安全法
网吧服务器连接电脑只有百兆
数据库原理用的表
联想小型服务器怎么样
上海能耗管理软件开发定制