【发布时间】:2011-09-08 20:15:13
【问题描述】:
我有一个通过局域网进行通信的应用程序。但是,我想让它通过互联网进行通信。为此,我建议制作一个中间程序,该程序将读取从一台计算机上的应用程序生成的网络流量并将其发送到另一台计算机上的应用程序。
这涉及:
- 读取应用程序的传出网络流量
- 通过 Internet 将此流量的副本发送到另一台计算机
- 将此副本提供给另一台计算机上的应用程序
而不是这个:
计算机 A 上的应用程序 计算机 B 上的应用程序
我想实现这个:
在 A 上的应用程序 我在 A 上的程序 我在 B 上的程序 在 B 上的应用程序
我可以完成 (2),但是对于 (1) 和 (3),我的问题是我对网络的经验很少,而且我不知道从哪里开始。我可以在 python 中编程,但愿意使用 c++ 来完成。
(Hamachi 不适用于此应用程序,我不知道为什么。)
响应cmets
除非有必要使连接正常工作,否则我不打算操作任何数据。我无法控制应用程序本身,它没有为我提供任何配置连接的方法,端口号除外。
TCP 和 UDP 都在端口 6112 上使用。使用的 IP 地址首先是 255.255.255.255,用于发现 LAN 上的其他应用程序(使用 UDP)的通用广播,然后建立 TCP 连接。
【问题讨论】:
-
如果您的意图是让第一个应用程序直接与第二个应用程序对话而不对数据进行任何操作,您应该能够将连接设置为直接转到第二个应用程序。否则,您将需要构建一种类型的 tcp“隧道”来执行您想要的操作...应用程序 A 与应用程序 B 对话,后者将消息中继到应用程序 C...也许对您正在尝试的内容有更清晰的解释做会更有帮助。
-
需要有关该应用程序的更多信息。它使用什么协议进行通信?你能指定它发送/接收的 IP 地址和端口吗?
标签: c++ python proxy network-programming