服务端

from socket import *
import selectors sel = selectors.DefaultSelector() def accept(server_fileobj, mask):
conn, addr = server_fileobj.accept()
sel.register(conn, selectors.EVENT_READ, read) def read(conn, mask):
try:
data = conn.recv(1024)
if not data:
print('closing', conn)
sel.unregister(conn)
conn.close()
return
conn.send(data.upper() + b'_SB')
except Exception:
print('closing', conn)
sel.unregister(conn)
conn.close() server_fileobj = socket(AF_INET, SOCK_STREAM)
server_fileobj.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
server_fileobj.bind(('127.0.0.1', 8088))
server_fileobj.listen(5)
server_fileobj.setblocking(False) # 设置socket的接口为非阻塞
sel.register(server_fileobj, selectors.EVENT_READ, accept) # 相当于往select的读列表里append了一个文件句柄
# server_fileobj,并且绑定了一个回调函数accept while True:
events = sel.select() # 检测所有的fileobj,是否有完成wait data的
for sel_obj, mask in events:
callback = sel_obj.data # callback=accpet
callback(sel_obj.fileobj, mask) # accpet(server_fileobj,1)

客户端

from socket import *
c=socket(AF_INET,SOCK_STREAM)
c.connect(('127.0.0.1',8088)) while True:
msg=input('>>: ')
if not msg:continue
c.send(msg.encode('utf-8'))
data=c.recv(1024)
print(data.decode('utf-8'))

最新文章

  1. clear属性
  2. 使用ASP.NET MVC、Rabbit WeixinSDK和Azure快速开发部署微信后台
  3. php openssl 增加密钥
  4. busybox filesystem udhcpc 原理
  5. HTML5学习(九)----应用程序缓存
  6. ActiveX控件打包成Cab置于网页中自动下载安装(转载)
  7. JavaScript之引用类型介绍
  8. WINCE 电池状态(C#)
  9. 继续几道经典的js题(局部和全局变量,对象等)
  10. Docker - docker machine
  11. LeetCode解题中位运算的运用
  12. DataContractJsonSerializer序列化时间类型时转换为UTC溢出问题
  13. 第十一节:WebApi的版本管理的几种方式
  14. 第十五节: EF的CodeFirst模式通过DataAnnotations修改默认协定
  15. Python基础-Python的三元运算符和lambda表达式
  16. Confluence 6 字符集编码的问题解决
  17. 20180429 xlVBA套打单据自适应列宽
  18. linux问题解答
  19. PHP构造函数的重载
  20. 文档的js

热门文章

  1. 获取用户的相关请求信息, 以及包括请求头 request.environ
  2. 网卡流量监控脚本 ( Shell )
  3. JDBC中,如何动态的设置查询条件
  4. React文档总结
  5. js里面的三种注释方法
  6. PHP - 用户异常断开连接,脚本强制继续执行,异常退出回调
  7. 在MyEclipse中用debug调试应用程序
  8. Android基础之sqlite 数据库简单操作
  9. 201671010140. 2016-2017-2 《Java程序设计》java学习第九周
  10. shiro 权限集成Ehcache 配置 学习记录(二)