我需要一个连接到服务器的 tcp 套接字客户端来发送和接收数据。但是这个插座必须一直打开,我不能打开另一个插座。
随着时间的推移,我总是有一些数据要发送,然后再处理之前发送的数据的答案。
如果我可以打开许多套接字,我认为这更容易。但就我而言,我必须在同一个套接字上异步发送所有内容。
所以问题是,您建议在 Python 生态系统中使用什么?(扭曲,龙卷风等)我应该考虑 node.js 还是其他选项?
为此,我强烈推荐 Twisted:
ReconnectingClientFactory
可以处理断开连接并使用指数退避,并且LoopingCall
可以轻松实现心跳。我有一项与您提到的服务完全相同的服务(单次登录,始终保持打开状态,处理数据)。它已经持续了几个月,像冠军一样工作。
Twisted 可能很难理解,但这里的教程是一个很好的开始。从长远来看,了解 Twisted 会让您走得更远!
“我必须在同一个套接字上异步发送所有内容”
将您的数据添加到队列中,有一个单独的线程将项目从队列中取出并通过发送socket.send()