socket实现并发

Posted Josie_chen

tags:

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

之前版本的服务端,在while true的大循环中,只要来一个连接直接就进入小循环当中了。

在小链接中,只要不跳出来,服务端将一直处于这个小的通信循环当中。不能并发。

soketserver版本:

1、类Mysever就是用来实例化函数handle方法的。

2、handle方法就是收发消息的过程(通信循环)。添加异常处理

3、连接循环在if __name__ == ‘__main__‘当中写入,只有右键运行整个程序的时候才能执行

4、类TreadingTCPServer利用类MySever实例化得到一个对象s:将通信循环Mysever嵌套在 TreadingTCPServer 当中。

  实现多线程的服务端:实现并发,每来一个链接就可以通过mysever实例化建立一个收发消息handle函数来执行。

 

soketserver模块介绍:

两大类:

第一类:sever类:专门处理链接。最基本的有五个:

BaseSever,TCPServer,UDPServer,ForkingMixIn

第二类:request类:处理通信

 

以上是关于socket实现并发的主要内容,如果未能解决你的问题,请参考以下文章

socket 编程实例

python-gevent模块实现socket大并发

协程实现多并发socket,跟NGINX一样

使用多进程 实现socket tcp协议 server端的并发

通过gevent实现单线程下的多socket并发

基于socketserver实现并发的socket编程