读书人

VC怎么在两台电脑互相不知道对方ip的情

发布时间: 2012-08-31 12:55:03 作者: rapoo

VC如何在两台电脑互相不知道对方ip的情况下通信?(知道端口)
我想做一个程序,就是两台电脑在不同的IP区域内,不过由于ip是动态的,所以两台电脑不能完成通信。问一下现在怎么办呢?

(可以用一个免费空间服务器记录ip,但我不会)

平台:VC6.0/WinXp

[解决办法]
通过第三方服务器~
[解决办法]
在网络中布置一个服务器,这个服务器的IP地址必须是固定的
然后两个客户端分别向服务器发送注册消息,服务器接收并保存
A向服务器申请B的地址,B向服务器申请A的地址,然后AB就可以互相通信了
如果AB地址发生改变,服务器实时更新
[解决办法]
你好,可以研究一下P2P打洞实现两台内网主机的通信
[解决办法]
用花生壳
[解决办法]
得有一个中间服务器
[解决办法]
需求:Client-A需要使用基于TCP的协议访问位于NAT设备之后的Client-B
问题:
1、A、B没有固定公网IP
2、NAT设备会丢弃不请自来的连接请求
解决办法:
1、Client-A、Client-A在Server-s注册各自连接信息(PublicIP:PublicPort)
2、TCP直接Client-B,测试是否在同一内网
3、Client-A发送(请求穿越Client-B的NAT设备)命令给Server-S
4、Server-S查找Client-A的连接信息,告诉Client-B向Client-A方向开孔
5、Client-B根据Client-A的连接信息,执行开孔
注:两端都在Symmetric型Nat后,需端口预测,这种情况不建议使用穿越


[解决办法]
要实现P2P通信,UDP相对容易些,TCP也可以,如果NAT拦得太严,那就只能通过服务器中转了
[解决办法]
ip是动态的,这个应是某一段内的如可能取值 192.168.1.1 --192.168.1.255 ,除此之外应没有别的地址了,
这样的话,挨个遍历一下就可以了。
[解决办法]
用中间服务器啦
[解决办法]
不在同一个IP段,不借助中间服务器的话,不知道有什么办法,期待。

读书人网 >VC/MFC

热点推荐