import socketserver
class MyTCPhandler(socketserver.BaseRequestHandler):
def handle(self):
# print(self.request)
# print(self.client_address)
while True:
try:
data=self.request.recv(1024)
if not data:break
self.request.send(data.upper())
except Exception:
break
self.request.close()
if __name__ == '__main__':
server=socketserver.ThreadingTCPServer(('127.0.0.1',8082),MyTCPhandler)
# server=socketserver.ForkingTCPServer(('127.0.0.1',8082),MyTCPhandler) # windows系统用不了
server.allow_reuse_address=True #地址重用参数,默认为False,在里面做了一步判断,若果为Ture,表示可以重用地址
server.serve_forever() #相当于以前写的while True,一直开着
 导入socketserver之后

自己写一个类,必须继承socketserver.BaseRequestHandler,在里面必须实现handle方法

启动服务的时候只需要server_forever

  

    1、server.socket   用于传入请求的套接字对象。

    2、server.sever_address  监听服务器的地址。如元组("127.0.0.1",80)

    3、server.RequestHandlerClass   传递给服务器构造函数并由用户提供的请求处理程序类。

    4、server.serve_forever()  处理无限的请求

    5、server.shutdown()   停止serve_forever()循

    6、server.fileno()   返回服务器套接字的整数文件描述符。该方法可以有效地通过轮询操作(如select()函数)使用服务器实例。

执行流程图(借鉴):

最新文章

  1. java 24 - 4 GUI之创建数据转移窗口
  2. http://www.blogjava.net/xylz/archive/2013/08/05/402405.html
  3. 字符串_KMP算法(求next[]模板 hdu 1711)
  4. iOS 推送全解析
  5. uva 11020 - Efficient Solutions ——平衡BST
  6. python 抽象类、抽象方法的实现
  7. ???????????? no permissions
  8. php代码的一些高效写法
  9. JAVAEE——struts2_04:自定义拦截器、struts2标签、登陆功能和校验登陆拦截器的实现
  10. 微信开发系列——微信订阅号前端开发利器:WeUI
  11. Python 线程和进程
  12. 微信小程序支付最容易犯的坑notify_url(支付回调)
  13. Android灯光系统_编写HAL_lights.c【转】
  14. Our supersheet
  15. spoj375
  16. UVA11525 【Permutation】
  17. java绘图drawString位置的确定
  18. time_t和SYSTEMTIME之间的相互转换 【转】
  19. 【SpringMVC学习01】宏观上把握SpringMVC框架
  20. Django--队列2

热门文章

  1. [CODEVS1912] 汽车加油行驶问题(分层图最短路)
  2. python -- DNS处理模块dnspython
  3. 病毒(bzoj 2938)
  4. Dumb Bones(uva 10529)
  5. fuelgauge
  6. yii model层操作总结
  7. docker部署 mysql redis问题
  8. LeetCode OJ——Word Ladder2
  9. asp传递参数的几种方式
  10. 快速上手 Echarts