我想使用 python 流式传输二进制数据。我不知道如何实现它。我确实使用 SOCK_DGRAM
创建了 python 套接字程序。 SOCK_STREAM
的问题是它不能在互联网上工作,因为我们的 isp 不允许 tcp 服务器套接字。
我想定期将屏幕截图传输到远程计算机。 我有一个维护二进制数据队列的想法,并有两个线程同步写入和读取。 我不想使用 VNC。
我该怎么做?
我确实使用 SOCK_STREAM 编写了服务器套接字和客户端套接字,它在本地主机上工作,即使放置了相应的 ip,也无法在互联网上工作。我们也曾尝试在一台电脑上运行 tomcat 网络服务器,并尝试通过互联网上的其他电脑访问,但无法正常工作。
最佳答案
SOCK_STREAM 是流式传输数据的正确方式。
您所说的有关 ISP 的内容毫无意义;他们不控制您的机器是否在接口(interface)上的某个端口上监听。也许您在谈论防火墙/寻址问题?
如果你坚持使用 UDP(你不应该因为你不得不担心数据包到达的地方不对或根本没有到达)那么你需要首先使用 socket.bind
和 socket.recvfrom
循环读取数据并跟踪打开的连接。正确地做是很困难的。
关于python - 如何在 python 中流式传输二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1451349/