import socketserver
class MyServer(socketserver.BaseRequestHandler):
def handle(self): #继承BaseRequestHandler后就要重写handle方法
print(self.request) #相当于coon
print(self.client_address) #相当于addr
while True:
try:
#收消息
data = self.request.recv(1024)
if not data:break
print('检测到来自客户端的链接',self.client_address,data)
#发送消息
self.request.sendall(data.upper())
except Exception as e:
print('检测到异常的形式是',e)
break
if __name__ == '__main__':
# 多线程服务端,可以实现并发,可以同时开启多个任务等待链接,ThreadingTCPServer(tuple格式的(ip+prot),类名)
s = socketserver.ThreadingTCPServer(('192.168.55.1',8000),MyServer)
#永久服务,链接循环
s.serve_forever()

最新文章

  1. 初学Python之os模块
  2. 用于模式匹配的String方法
  3. github中cesium-terrain-builder和cesium-terrain-server使用
  4. Java报表FineReport在医院院长查询分析系统中有什么用
  5. 安装python官方的mysql库“mysql-connector-python”
  6. [转]ConsumeContainerWhitespace property to remove blank space in SSRS 2008 report
  7. NSDateFormatter中时间格式串的含义
  8. C#中使用GUID的笔记
  9. java获得项目绝对路径
  10. 【Chromium中文文档】Profile架构(看看谷歌家的重构)
  11. MFC 数据库编程 增删改查的一个例子
  12. 转 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
  13. npm 是node.js下带的一个包管理工具
  14. oo第3次博客作业
  15. this()基础用法
  16. 学生管理系统(Java Swing JDBC MySQL)
  17. Spring cloud Eureka 和 Zookeeper 比较
  18. MongoDB之增删改查
  19. iOS开发-Instruments性能调优
  20. Fair CodeForces - 987D (bfs)

热门文章

  1. Noip2011 Mayan游戏 搜索 + 模拟 + 剪枝
  2. velocity.ui2.0所有的内置动画名称
  3. buddyinfo 内存碎片数据采集
  4. ACM成长之路
  5. 正确判断js数据类型 总结记录
  6. Java启动问题-Application Server was not connected before run configuration stop, reason: Unable to ping server at localhost:1099
  7. 【codeforces 727D】T-shirts Distribution
  8. 使用IO,递归打印目录树
  9. oracle schema彻底理解
  10. HDU 4350