我意识到这个问题是相似到 一些 人,但我想我的情况十分不同,以保证其自身的问题(希望).
我正在计划的是在另一个人的计算机上部署一个程序,它将打开与我的计算机的连接,之后,我假设,计算机应该能够相互通信.一旦程序启动,它应该能够提取地址信息和端口(如果它们没有被阻止)来创建连接,对吧?
更重要的是我居住的宿舍的互联网配置.每个房间都分配了一个唯一的端口和一个由DHCP服务器分配的静态IP地址.如何将其纳入我的程序设计?
我认为这个设置不需要服务器作为中间访问点,因为我的地址详细信息将始终保持不变,并且主机可以简单地连接到我的计算机而无需进一步的信息.它是否正确?
最后,我正在阅读有关创建连接的几页,但我对TcpConnection,WCF,CORBA等的所有可能性感到困惑.对于我来说,哪一个实际上是最简单的假设我只想发送消息到另一台机器?
更新:
地址是静态的,因为它不会改变.我的IP地址格式为130.83.20.xxx,我可以等待DHCP服务器为我分配这个地址,或者我可以使用静态IP配置自己手动输入.
至于消息本身,简单的文本消息就足够了.之前提到的端口是交换机端口,我认为在网络编程期间不会发挥作用.
直接联系!我们始终竭尽所能确保Fog Creek Copilot可以在任何网络环境中连接,无论防火墙或NAT到底是什么.为实现这一目标,双方都会与我们的服务器建立出站连接,该服务器代表他们转发流量.嗯,在许多情况下,这不是必要的.因此版本2.0做了一些相当聪明的事情:它通过我们的服务器建立初始连接,因此您可以立即获得100%可靠性的连接.但是,一旦你们全部连接起来,它就会在后台安静地寻找一种直接连接的方法.如果它不能,没什么大不了的:你只是通过我们的服务器继续中继.如果您可以建立直接的点对点连接,它会以静默方式将数据转移到直接连接上.
他们如何将服务器连接更改为P2P连接?