Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我需要做一个;服务器";它可以处理流数据的多个持久连接_Python_Asyncsocket - Fatal编程技术网

Python 我需要做一个;服务器";它可以处理流数据的多个持久连接

Python 我需要做一个;服务器";它可以处理流数据的多个持久连接,python,asyncsocket,Python,Asyncsocket,我需要同时从多部Android手机上实时读取和绘制数据。我正在尝试构建一个服务器(python),每个手机都可以同时连接到该服务器,该服务器将接收来自每个手机的数据流,并使用matplotlib实时绘图。虽然我知道基本知识(单请求服务器等),但我对套接字编程不是很有经验。我该怎么做呢?我研究了asyncore、SocketServer和其他模块,但我不确定我是否掌握了如何允许多个长期连接 我在想我应该为每部手机创建一个新线程(虽然我不确定将套接字传递给新线程是否安全),但我也希望能够使用子地块(

我需要同时从多部Android手机上实时读取和绘制数据。我正在尝试构建一个服务器(python),每个手机都可以同时连接到该服务器,该服务器将接收来自每个手机的数据流,并使用matplotlib实时绘图。虽然我知道基本知识(单请求服务器等),但我对套接字编程不是很有经验。我该怎么做呢?我研究了asyncore、SocketServer和其他模块,但我不确定我是否掌握了如何允许多个长期连接

我在想我应该为每部手机创建一个新线程(虽然我不确定将套接字传递给新线程是否安全),但我也希望能够使用子地块(例如,4个并排绘图),尽管这并不重要


我只需要一个指向正确方向的点。小型代码示例可以用来说明这一概念。

由于Python的线程实现而使用线程可能会导致性能下降,具体取决于线程所做的工作


我建议使用一个框架来构建异步服务器。一个这样的框架就是。使用异步事件循环,您可以在其他“线程”(对于gevent,greenlets)等待I/O的同时进行计算,从而获得更好的性能。该模型也非常适合长时间的空闲连接。

由于Python的线程实现而使用线程可能会导致性能下降,具体取决于线程所做的工作

我建议使用一个框架来构建异步服务器。一个这样的框架就是。使用异步事件循环,您可以在其他“线程”(对于gevent,greenlets)等待I/O的同时进行计算,从而获得更好的性能。该模型也适用于长时间空闲连接