我有一个通过局域网进行通信的应用程序。但是,我想通过互联网进行沟通。为此,我建议制作一个中间程序,它将在一台计算机上读取应用程序生成的网络流量,并将其发送到另一台计算机上的应用程序。
这涉及:
而不是:
在计算机A< -LAN->上的应用程序在计算机B上的应用
我想实现这个目标:
在A< - >上的应用我的A< -INTERNET->程序我在B< - >上的节目申请B
我可以完成(2),但是(1)和(3)我的问题是我对网络的经验很少,我不知道从哪里开始。我可以在python中编程,但愿意使用c ++来实现这一点。
(Hamachi不适合这个应用程序,我不知道为什么。)
除非必须使连接起作用,否则我不打算操纵任何数据。我无法控制应用程序本身,除了端口号之外,它没有为我提供配置连接的任何方法。
TCP和UDP都在端口6112上使用。对于用于发现LAN上其他应用程序(使用UDP)的通用广播,使用的IP地址首先是255.255.255.255,然后建立TCP连接。
答案 0 :(得分:1)
原始问题中缺少的术语是proxy
。您特别需要transparent forwarding proxy
。
这是Python中的link to some source code,它将帮助您开始编写代理。
那就是说,如果你在周围搜索,你应该能够找到一个你不必自己写的transparent forwarding proxy
。
如果您想以最强大的方式执行此操作,您可以在硬件中执行此操作并设置托管路由器/交换机/防火墙,以便将内容路由到您需要的位置,而无需编写任何内容。
答案 1 :(得分:1)
为什么重新设计轮子?为什么不使用OpenVPN,n2n或vtun等等。