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