Python 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()
- 流程图
图片来源:https://blog.csdn.net/slavik_/article/details/82430717
参考链接:时光不写博客-Python socket - 流程图
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
python之bisect模块, 有序列表插入数据
bisect是python的内置模块, 可以使用它来插入数据, 并且插入的数据不会影响列表的排序, 但是原有列表需要是有序的, 并且不能是倒序. bisect.bisect(data, n), 查找并返回n插入的位置下标, 但并不会插入. data = [1, 7, 3, 8, 5] data.sort() bisect.bisect(data, 6) # 返回 3 bisect.insort(data, n), 插入n, 不会影响列表顺序. bisect.insort(data, 6) print(data) # [1, 3, 5, 6, 7, 8] bisect.bisect_left()、bisect_right(), 这两个函数用来处理插入重复数值的情况,返回将会插入的位置. data = [1, 3, 5, 6, 7, 8] bisect.bisect_left(data, 6) #返回 3 bisect.bisect_reght(data, 6) #返回 4 bisect.insort_left()、insort_right(), 对应bisect.bisect_left(...
- 下一篇
Python+前端简单项目:每日一词New Tab
在网上看到了Google的New Tab插件,想想自己的英语那么差,找个可以学单词的New Tab多好,结果大神们英语都很好,并没有找到,只有一个类似的还是日语,怎么办?既然找不到就自己写一个吧。 开始动手写 先确定一下功能1.关键需要有一个搜索框2.每天更新一个单词,单词可以点进去查看详情3.页面背景要找一些高清壁纸4.背景随机显示5.原来是定义为一个静态页面的,但是单词这个有点问题,所以加了一个小后台,只用来爬单词 搜索框 <div> <input type="text" id="inputId" onkeydown="enter_search()"/> <span><a href="" id="linkUrlId" onclick="search()">搜索</a></span> </div> 搜索框JS // 回车搜索 function enter_search() { let event = window.event; if (event.keyCode === 13) { console.l...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS6,CentOS7官方镜像安装Oracle11G
- Windows10,CentOS7,CentOS8安装Nodejs环境