最近用到Socket编程,发现外网客户端想要连接访问内网服务器TCP端口始终连接不上,查了下才知道本来就外网本来就不能直接访问,有人说需要“NAT打洞”,听不懂,感觉好复杂。。就直接买一个月花生壳的内网穿透服务。
其实用法,在这个论坛http://bbs.oray.com/forum-37-1.html 已经全部解决掉了。
我记下来只是避免自己忘记。
简单说外网访问内网需要端口映射,内网IPA:端口A,映射到外网可用的IPB:端口B,外网通过访问IPB:端口B来达到连接我内网机器的目的。
简单的说下用法。先下载花生壳的客户端,然后在管理首页,点击内网穿透。
跳转到管理网页,为自己想要被访问的机器添加内网映射。添加时切记,内网主机IP指的也是内网IP,不是公网IP!
添加成功之后,左侧列表对应的IP和端口,就是外网可用直接访问的IP和端口。
以Socket通信程序为例:
内网的服务器开启前,监听自己要开放的内网端口。
客户端连接IP:端口的时候,需要连映射的外网域名(或将域名转为外网IP都行)以及外网端口。
这样外网客户端和内网服务器就可以进行通信啦!