zoukankan      html  css  js  c++  java
  • Python Socket第二篇(socketserver)

    本节内容

    1. socketserver基础知识

    2. ThreadingTCPServer源码剖析

    1.socketserver基础

    ThreadingTCPServer实现的Soket服务器内部会为每个client创建一个 “线程”,该线程用来和客户端进行交互。

    使用ThreadingTCPServer:

    • 创建一个继承自 SocketServer.BaseRequestHandler 的类
    • 类中必须定义一个名称为 handle 的方法
    • 启动ThreadingTCPServer
    • ForkingTCPServer和ThreadingTCPServer的使用和执行流程基本一致,只不过在内部分别为请求者建立 “线程”  和 “进程”。
    ###服务端
    #!/usr/bin/env python # -*- coding:utf-8 -*- import socketserver class Myserver(socketserver.BaseRequestHandler): def handle(self): # 需要对handle进行重写 conn = self.request while True: data = conn.recv(1024) # 接受消息 conn.send(data) # 原封不动的把消息返回 if __name__ == '__main__': server = socketserver.ThreadingTCPServer(('127.0.0.1',8009),Myserver) server.serve_forever()
    ###客户端
    #!/usr/bin/env python # -*- coding:utf-8 -*- import socket conn = socket.socket() conn.connect(('127.0.0.1',8009)) while True: comm = input(':>>') conn.send(comm.encode()) print(conn.recv(1024).decode())

    2.源码剖析

    老师博客:http://www.cnblogs.com/wupeiqi/articles/5040823.html

    最新内容可以看我的blog: 40kuai
  • 相关阅读:
    伸缩布局
    布局样式
    求最小子数组01
    构建之法阅读笔记02
    第四周学习进度条
    随机生成四则运算03
    用户随机输入一组整数求出最大值
    第三周学习进度条
    随机生成四则运算表达式02
    jsp函数的使用
  • 原文地址:https://www.cnblogs.com/40kuai/p/6612634.html
Copyright © 2011-2022 走看看