日期:2014-05-20  浏览次数:20679 次

请教高手一个C/S通信的问题
请教各位一问题:一局域网内的计算机(A)在5000端口已开启rpc服务
,且这台计算机能与外网某一固定IP的服务器(S)通信,现在另外一
客户端(C)也处于另一局域网,也能与固定IP的服务器(S)通信,
请问客户端(C)怎么能访问到计算机(A)在5000端口的rpc服务?

现在已实现了 计算机(A) ,客户端(C)借助固定IP的服务器(S)建立起了
点对点 计算机(A) ,客户端(C)的直接通信服务,后续的通信都不要借助
服务器(S)。通过程序来解决这个问题。希望大侠能提供一点解决思路和方法。
不胜感激。

------解决方案--------------------
只能用socket了,其它webservice之类的应该不行。
搜索 UDP穿透NAT
------解决方案--------------------
這個是兩個獨立的局域網通信,用UDP穿透兩個NAT建立通信管道就行啦:

原碼:

[原创]C# UDP穿越NAT,UDP打洞,UDP Hole Punching源代码(1) 
http://www.csframework.com/archive/2/arc-2-20110612-1557.htm

[原创]C# UDP穿越NAT,UDP打洞,UDP Hole Punching源代码(2)
http://www.csframework.com/archive/2/arc-2-20110612-1558.htm