Python tcp套接字客户端

时间:2013-10-16 11:40:03

标签: python node.js sockets tcp twisted

我需要将tcp套接字客户端连接到服务器以发送数据并接收。 但是这个套接字必须始终打开,我无法打开另一个套接字。

我总是会在一段时间内发送一些数据,然后再处理之前发送的数据的答案。

如果我可以打开许多插座,我认为这更容易。但在我的情况下,我必须异步发送同一个套接字上的所有内容。

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

2 个答案:

答案 0 :(得分:3)

我强烈推荐Twisted:

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

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

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

答案 1 :(得分:0)

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

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