Python tcp 套接字客户端

标签 python node.js sockets tcp twisted

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

我总是有一些数据要发送,然后处理对之前发送的数据的回答。

如果我可以打开多个套接字,我认为它会更容易。但在我的例子中,我必须在同一个套接字上异步发送所有内容。

所以问题是,您推荐在 Python 生态系统中使用什么? (扭曲, Tornado 等) 我应该考虑 node.js 还是其他选择?

最佳答案

为此我强烈推荐 Twisted:

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

我有一项服务与您提到的完全一样(单一登录、始终保持在线、处理数据)。它已经运行了几个月,表现出色。

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

关于Python tcp 套接字客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19402434/

相关文章:

javascript - 我如何在 javascript 中创建类后运行函数

C# Socket TCP 发送,消息获取 "stuck"

python - Django QuerySet 用子查询注释

node.js - nodemon安装错误 "No valid versions available for timed-out"

node.js - 如何在异步等待调用 Node 上设置超时

sockets - 无法从外部机器连接到 TCP 服务器

c# - 使用套接字的简单 C# 客户端出错

python - 是否可以下载文件的特定部分?

python - 在matplotlib中使两个y轴对齐

python - python中的 'super object returned is unbound'是什么意思?