TCP多线程/多进程

Posted alben-xue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP多线程/多进程相关的知识,希望对你有一定的参考价值。

ThreadingTCPServer

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

1、ThreadingTCPServer基础

使用ThreadingTCPServer:

  • 创建一个继承自 SocketServer.BaseRequestHandler 的类
  • 类中必须定义一个名称为 handle 的方法
  • 启动ThreadingTCPServer
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import SocketServer

class MyServer(SocketServer.BaseRequestHandler):

    def handle(self):
        pass

if __name__ == __main__:
    server = SocketServer.ThreadingTCPServer((127.0.0.1,8766), MyServer)
    server.serve_forever()

 

ForkingTCPServer

ForkingTCPServer和ThreadingTCPServer的使用和执行流程基本一致,只不过在内部分别为请求者建立 “线程”  和 “进程”。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import SocketServer

class MyServer(SocketServer.BaseRequestHandler):

    def handle(self):
        pass

if __name__ == __main__:
    server = SocketServer.ForkingTCPServer((127.0.0.1,8009),MyServer)
    server.serve_forever()

 

以上是关于TCP多线程/多进程的主要内容,如果未能解决你的问题,请参考以下文章

网络编程TCP/IP协议----- 多进程多线程服务器

Linux网络(C++)——网络套接字(TCP/UDP编程模型)多进程,多线程,线程池服务器开发(画图解析)

Linux篇第十九篇——网络套接字编程(TCP套接字的编写+多进程版本+多线程版本+线程池版本)

Linux篇第十九篇——网络套接字编程(TCP套接字的编写+多进程版本+多线程版本+线程池版本)

Linux篇第十九篇——网络套接字编程(TCP套接字的编写+多进程版本+多线程版本+线程池版本)

linux C语言 TCP 多线程 简易聊天室