Python 我需要做一个;服务器";它可以处理流数据的多个持久连接
我需要同时从多部Android手机上实时读取和绘制数据。我正在尝试构建一个服务器(python),每个手机都可以同时连接到该服务器,该服务器将接收来自每个手机的数据流,并使用matplotlib实时绘图。虽然我知道基本知识(单请求服务器等),但我对套接字编程不是很有经验。我该怎么做呢?我研究了asyncore、SocketServer和其他模块,但我不确定我是否掌握了如何允许多个长期连接 我在想我应该为每部手机创建一个新线程(虽然我不确定将套接字传递给新线程是否安全),但我也希望能够使用子地块(例如,4个并排绘图),尽管这并不重要Python 我需要做一个;服务器";它可以处理流数据的多个持久连接,python,asyncsocket,Python,Asyncsocket,我需要同时从多部Android手机上实时读取和绘制数据。我正在尝试构建一个服务器(python),每个手机都可以同时连接到该服务器,该服务器将接收来自每个手机的数据流,并使用matplotlib实时绘图。虽然我知道基本知识(单请求服务器等),但我对套接字编程不是很有经验。我该怎么做呢?我研究了asyncore、SocketServer和其他模块,但我不确定我是否掌握了如何允许多个长期连接 我在想我应该为每部手机创建一个新线程(虽然我不确定将套接字传递给新线程是否安全),但我也希望能够使用子地块(
我只需要一个指向正确方向的点。小型代码示例可以用来说明这一概念。由于Python的线程实现而使用线程可能会导致性能下降,具体取决于线程所做的工作
我建议使用一个框架来构建异步服务器。一个这样的框架就是。使用异步事件循环,您可以在其他“线程”(对于gevent,greenlets)等待I/O的同时进行计算,从而获得更好的性能。该模型也非常适合长时间的空闲连接。由于Python的线程实现而使用线程可能会导致性能下降,具体取决于线程所做的工作 我建议使用一个框架来构建异步服务器。一个这样的框架就是。使用异步事件循环,您可以在其他“线程”(对于gevent,greenlets)等待I/O的同时进行计算,从而获得更好的性能。该模型也适用于长时间空闲连接