Python socket怎么实现服务端和客户端数据传输
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,今天小编给大家分享一下Python socket怎么实现服务端和客户端数据传输的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文
千家信息网最后更新 2025年01月16日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安全错误
数据库的锁怎样保障安全
关系型数据库数据分析
atom 服务器
手机app软件开发价格多少
数据库各科成绩统计分析表
济南专业软件开发服务费
杭州正纯网络技术有限公司
丧尸围城服务器推荐
网络安全优秀文章1500字
星际网络安全专家讲座
健全网络安全管理办法
长宁区资讯软件开发常见问题
数据库rand
计算机三级考试样卷网络技术
反射机抽象封装数据库删除
gdb数据库 什么平台
互联网科技公司不要盯着菜篮子
数据库上传分辨率
服务器机柜定做哪个品牌好
《网络安全法>>直播平台
浙江服务器续保维护
软件开发课程与教学
arcgis个人数据库重命名
服务器为什么要虚拟化
锐捷网络安全技术是谁的
股票历史价格数据库
数据库定义的单词
福建省网络安全人才
计算机网络安全三级保密
开封翰源网络技术有限公司
呼伦贝尔市协创软件开发有限公司