请教大家VB怎么实现跨网通信?

请问大家VB如何实现跨网通信?????????????
有两个程序,都是用VB编写。一个程序在一个通过宽带拨号上网的电脑上运行,另外一个程序在广域网中某一个局域网中的一台电脑中运行。现在希望其中任何一个程序能够发送一个字符串给另外一个程序。请问大家如何实现?

疑点:
通过拨号上网的电脑的IP地址是不固定的,而通信时必须事先制定对方的IP地址,这样就给通信制造了很大的麻烦。

在局域网络中的电脑是通过局域网络访问外网的,在外面是见不到局域网中的一台
电脑的。这个也给通信制造了很大的麻烦。

望得到大家的帮助,谢谢大家!


------解决方案--------------------
使用Winsock,详细请看MSDN.
------解决方案--------------------
知道我的一个程序是通过拨号上网的,IP地址是不固定的,Winsock通信首先要制定对方的IP地址

------------------
1、ADSL撥號IP地址不固定,你可以裝一個動態域名解析的軟件來解決這個問題,不管你的IP怎麼變,只要訪問你事先設置好的域名就可以了。
2、有一臺電腦在內網,你可以在路由上將其設為DMZ主機,讓它暴露於外網中,或者做端口轉發指向這臺機器。

------解决方案--------------------
其实 你拨号上网的ip是公网 ip 但是不是固定的 是dhcp协议动态分配的ip地址
你的这种连接有2种方法 一般 但是都要借助于 动态域名解析软件或者程序

1。用 winsock拨号的是服务器 内网客户端 用 winsock写自定义协议 不推荐 没有3-5月写不完

2。用vpn 2个都采用动态域名或者 拨号的动态域名 进行vpn连接
就是要花点钱 但是稳定性还可以 有时候也断 和局域网一样 操作简单 速度快
------解决方案--------------------
建议你用个代理软件 如 花生壳。这样就可以把动态IP转换成固定的域名了。
------解决方案--------------------
去注册个动态域名,这样子,变化的IP,可以用固定的域名.(www.3322.org可以注册)
如果你有WEB服务器,那就可以不用动态域名了,将自己IP写入web服务器,再取出对方的IP.(对方也要先将IP写入)

至于如何穿透防火墙,我也想了解一下
------解决方案--------------------
//我只看到书籍中使用Winsock时,是用设置对方的IP地址了以后再进行通信的。请问用域名如何通信啊???通信方式是UDP还是TCP呢?


所IP换成域名不就得了.....协议是你自己选择的....

看来书读多了真的是无用.
------解决方案--------------------
给局域网的路由器申请一个固定IP地址,然后做一下端口映射,有拨号的电脑主动发起连接就可以了。。我以前做GPRS的程序也是这样子的。。
------解决方案--------------------
要做这个东西,你必须要在公网有一台可以直接连接的服务器,才可能实现NAT穿透
如果你用的是udp协议实现NAT穿透,网上有很多代码
但是如果你用TCP协议实现NAT穿透,这个vb6的winsock控件做不到,除非你自己写一个winsock控件出来,但是vb.net可以