python - 如何在 python 中流式传输二进制数据

标签 python sockets

我想使用 python 流式传输二进制数据。我不知道如何实现它。我确实使用 SOCK_DGRAM 创建了 python 套接字程序。 SOCK_STREAM 的问题是它不能在互联网上工作,因为我们的 isp 不允许 tcp 服务器套接字。

我想定期将屏幕截图传输到远程计算机。 我有一个维护二进制数据队列的想法,并有两个线程同步写入和读取。 我不想使用 VNC。

我该怎么做?

我确实使用 SOCK_STREAM 编写了服务器套接字和客户端套接字,它在本地主机上工作,即使放置了相应的 ip,也无法在互联网上工作。我们也曾尝试在一台电脑上运行 tomcat 网络服务器,并尝试通过互联网上的其他电脑访问,但无法正常工作。

最佳答案

SOCK_STREAM 是流式传输数据的正确方式。

您所说的有关 ISP 的内容毫无意义;他们不控制您的机器是否在接口(interface)上的某个端口上监听。也许您在谈论防火墙/寻址问题?

如果你坚持使用 UDP(你不应该因为你不得不担心数据包到达的地方不对或根本没有到达)那么你需要首先使用 socket.bindsocket.recvfrom 循环读取数据并跟踪打开的连接。正确地做是很困难的。

关于python - 如何在 python 中流式传输二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1451349/

相关文章:

python - _init_ 方法中没有类型

python - 找到相似值的索引

java - 针对蜂窝调制解调器项目的客户端/服务器交互故障排除的建议和帮助

ios - 以编程方式从 iPhone/iPad 连接到采集单元(WIFI 设备)

python - matplotlib 通过单个列表迭代子图轴数组

Python Pandas : Stack and Enumerate Date to Create New Records

python - Django动态页面功能和url

C++ I/O 多路复用服务器过早关闭连接

c - 创建将同时为 200 多个客户端发送/接收任务的服务器时,使用选择或多线程(或两者)更好吗

c# - 如何连接到 C# 中的本地套接字?