1

我需要一个连接到服务器的 tcp 套接字客户端来发送和接收数据。但是这个插座必须一直打开,我不能打开另一个插座。

随着时间的推移,我总是有一些数据要发送,然后再处理之前发送的数据的答案。

如果我可以打开许多套接字,我认为这更容易。但就我而言,我必须在同一个套接字上异步发送所有内容。

所以问题是,您建议在 Python 生态系统中使用什么?(扭曲,龙卷风等)我应该考虑 node.js 还是其他选项?

4

2 回答 2

3

为此,我强烈推荐 Twisted:

  • 它为许多 TCP 协议提供了开箱即用的支持。
  • 维护单个连接很容易,有一个ReconnectingClientFactory可以处理断开连接并使用指数退避,并且LoopingCall可以轻松实现心跳。
  • 有状态协议也很容易实现并与复杂的业务逻辑混合。
  • 好有趣。

我有一项与您提到的服务完全相同的服务(单次登录,始终保持打开状态,处理数据)。它已经持续了几个月,像冠军一样工作。

Twisted 可能很难理解,但这里的教程是一个很好的开始。从长远来看,了解 Twisted 会让您走得更远!

于 2013-10-16T12:24:48.350 回答
0

“我必须在同一个套接字上异步发送所有内容”

将您的数据添加到队列中,有一个单独的线程将项目从队列中取出并通过发送socket.send()

于 2013-10-16T12:04:23.557 回答