Windows通信一般是通过Socket建立TCP通信的,需要固定的IP与端口号。但是,实际上,如果服务器不是公网的,那么IP会经常变化,这可能是因为IPV4数量少的原因吧。如果想做TCP测试,在内网建一个主机,外网如何访问内网呢?我们一般使用域名,动态域名解析来完成这个工作。
一般使用花生壳等动态域名解析,把内网的IP与端口号如:192.168.9.106 8080 映射为:fsmd.vicp.net 22279 这种形式,也就是域名+端口的形式,那VC++如何与这个域名通信呢?一般的TCP连接如何建立呢?
其实不难,就是首先获取这个域名的IP,然后连接即可。域名的IP改变了,可能需要重新连接。我这里用VS2008 MFC 做个测试。
主要界面如下:
(1)开始时,需要输入域名与端口号,如花生壳的动态域名+端口号,有可能与内网的端口号不一样,免费的花生壳二级动态域名端口号是不固定的。