socket 异步I/O
2024-09-06 20:48:27
# 客服端
# -*- coding: utf-8 -*-
import socket
import threading # from collections import deque
# q = deque(maxlen=3) # server = socket.socket()
# print(server)
# server.bind(("localhost", 2564)) # 绑定端口
# server.listen(2) # 监听
# conn, address = server.accept()
# print(conn)
# conn.sendall(bytes("来自客服端的消息...", encoding="utf-8"))
# while True:
# # server.setblocking(False) # 非阻塞
# # conn, address = server.accept() # 接收连接许可,接受连接并返回(conn,address)
# print(conn, address)
# f_client = conn.recv(1024) # 来自客户端发来的消息
# if f_client:
# print(str(f_client, encoding='utf-8'))
# # s = input("发送至客户端:")
# # if s:
# conn.sendall(bytes('你好', encoding="utf-8"))
# # if server.recv(100): def Server(host, port):
server = socket.socket()
server.bind((host, port))
server.listen(4)
conn, address = server.accept()
m = "来自客户端:"
conn.sendall(bytes(m,encoding="utf-8"))
while True:
client_mess = conn.recv(1024) # 接收客户端消息,最大字节数1024
print(str(client_mess, encoding='utf-8'))
conn.sendall(bytes('你好', encoding='utf-8')) if __name__ == "__main__":
t1 = threading.Thread(target=Server, args=("localhost", 2564,))
t1.start()
# 客户端
# -*- coding: utf-8 -*-
import socket client = socket.socket()
print(client)
client.connect(("localhost", 2564)) # 连接客服端(server)
# client.listen(5)
# conn, address = client.accept()
print(str(client.recv(1024),encoding='utf-8'))
while True:
c = input("发送消息至客服端:")
if c:
client.sendall(bytes(c, encoding="utf-8"))
ret = client.recv(1024) # 打印来自客服端的消息
if ret:
print(str(ret, encoding='utf-8'))
参照:https://www.cnblogs.com/aylin/p/5572104.html#3651306
最新文章
- ZwQuerySystemInformation 安全使用心得 Delphi 版
- 黄聪:解决Web部署 svg/woff/woff2字体 404错误
- 2016年Java服务器端开发面试总结
- 词性标注 parts of speech tagging
- Nodejs学习笔记(七)--- Node.js + Express 构建网站简单示例
- Android进阶笔记01:Android 网络请求库的比较及实战(一)
- HDU 4638 (莫队)
- Windows下composer的下载与配置
- IntelliJ IDEA使用(一)基本设置与类、方法模板设置
- win10 uwp 自定义控件初始化
- SSM整合---实现全部用户查询
- 副本机制与副本同步------《Designing Data-Intensive Applications》读书笔记6
- 如何在Eclipse中彻底修改一个项目名称
- 什么是C/S模式与B/S模式,两者区别与优缺点
- HTML5 template元素
- HTML学习-2标记标签-2
- window下切换python
- Apache Sqoop 结构化、非结构化数据转换工具
- Gogland使用 - 非常简单查看Go语言源代码全貌!
- 小学生都能理解的原生js——call
热门文章
- 1级搭建类105-Oracle 19c 单实例 FS(19.3+RHEL 8)公开
- openssl 生成免费证书
- 图片,base64 互转
- Luogu2422 | 良好的感觉 (单调栈)
- 洛谷P1200 [USACO1.1]你的飞碟在这儿Your Ride Is Here
- centos yum 安装openresty
- [TJOI2009] 猜数字 - 中国剩余定理
- python3练习100题——028
- JS高级---递归案例
- JDBC——PreparedStatement执行SQL的对象