vb.netnat穿透的简单介绍

关于VB的winsock发送数据包的问题

不用tcp的话就是udp

创新互联公司是一家专注于成都做网站、成都网站设计、成都外贸网站建设与策划设计,涿鹿网站建设哪家好?创新互联公司做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:涿鹿等地区。涿鹿做网站价格咨询:028-86922220

udp不需要建立连接 一台设置local端口 然后 winsock.bind (套接字与端口绑定)

另一台设置好remote ip与端口发送数据 就可以收到了

tcp比udp多步骤

就是在发送封包前 一台要设置local端口 然后 winsock.listen

另一台设置好remote ip和端口 然后 winsock.connect

有个细节要注意就是说接受连接的电脑要先 winsock.close 然后再 winsock.accept requestid

还有就是要注意这样必须是在同一个网络里

表达不太清。。同一个网络其实就是 俩台电脑同在一个内网或没有nat设备之类的

当然一台电脑上运行也没有问题

如果有nat设备路由器什么的要设置端口映射 要不然可以去搜一下nat穿透的知识

VB中用winsock与外网连接,高手进!!

socket程序不存在内网外网的问题。

你内网能连通,那外网也能连通。问题是你的程序是怎么样的?

比如你的程序是A,你同学的程序是B

那A连接B的时候你是怎么处理的,你能知道B的IP地址吗?

如果双方都可以知道对方的IP地址,那能保证双方的防火墙允许通过吗?

有个简单的方式可以试一试。

比如你同学的机器IP是 10.10.10.10 (这个IP必须保证是公网IP或者说是外网IP),他的程序在6666端口监听。

那你用telnet 10.10.10.10 6666 命令,看看能不能连接上,如果不能,那就是网络不通了。

当然,如果都在内网里,想要穿透NAT网关,这个技术就复杂了,你可以去找找资料。

VB.Net 关于路由器后TCP或UDP通讯问题 假设一台电脑192.168.0.1位于路由1.

端口不NAT,两个子网中的两端之间不可能通信。至少要有一方处在公网下或有路由端口映射,不必双方都映射。

建议题主找本计算机网络的书研读一下子网划分这块儿。

vb.net TCP协议服务端ip怎么写才能使客户端能通过公网连接进来?

需要出口设备进行映射内部地址;或使用打洞技术穿透NAT,但使用TCP打洞非常困难。

参考

穿透NAT是非常困难的,因为NAT的过程中在出口路由器上的Port已经不是你定义的iPort了,具体是多少也不固定

如何使用VB中的UDP穿过客户端上网用的服务器返回给客户端数据

你问的就是网络传输中的经典问题“内网穿透”。

若规定必须用UDP协议,简单解决的话内网应备有一台有公网IP的服务器,命名为“服务器A”。由服务器A负责内网与客户端UDP协议数据交换,然后由“服务器A”与公网另一台“服务器B”再进行UDP协议的数据交换即可。

也就是整体架构设计上,增加一个公网与内网的中转站。

若是可以用TCP协议就不存在此问题了,内网“客户端”直接连接公网“服务器B”,并互发数据。

回答补充:

QQ是支持TCP协议的,你可以到QQ技术支持服务自己看

QQ软件采用2种协议,UDP和TCP/IP协议,您可以在登陆设置中选择协议登录。

在用UDP协议时,QQ有专门措施防止数据丢失,发送数据之前它会ping对方主机,如果没有回复,就通过TCP协议服务器转发。


网站题目:vb.netnat穿透的简单介绍
文章转载:http://hbruida.cn/article/dochegh.html