VB WINSOCK TCP UDP穿透如何实现


VB WINSOCK TCP UDP穿透怎么实现
我正在做一个多用户通讯软件,可是内网和内网用户,怎么才能直接连接咧


思路是这样的:


服务器S----有一个外网的IP地址


用户A------假如是北京内网用户(网吧)


用户B------假如是河南内网用户(网吧)


1.首先服务器监听IP和端口


2.用户A连接服务器


3.用户B连接服务器


4.服务器获得用户A和用户B的真实地址和端口


5.服务器告诉A和B双方的真实IP和端口


6.到这里就不知道怎么让用户A和用户B直接连接了,因为此时用户A或B的WINSOCK端口处于和服务器S的连接状态,怎么才能让A和B在不端开连接或端开连接但端口号不变的情况下让A和B能直接进行连接!


TCP不行的话,UDP可以吗  具体怎么实现  怎么才能让多个用户同时能发消息给A,并且A能收到!



希望高手解答,如果有办法实现,本人愿意出100-300元买此实现方法!本人很穷,但很敬业!希望大家帮帮忙!在这里谢谢大家了!





VisualBasic程序开发环境 程序开发 VisualBasic

vekyhe 11 years, 9 months ago

学习了。。。苦恼中。。同样的问题

无聊无死聊 answered 11 years, 9 months ago

内网的路由如何映射..没有把路由映射到你的机器上怎么传输...穿透....还是个问题

whymt answered 11 years, 9 months ago

其实只是 一层纸 UDP操作很简单 。。

我继续你的步骤 说如何使用udp打洞


5.服务器告诉A和B双方的真实IP和端口 


6.到这里就不知道怎么让用户A和用户B直接连接了,因为此时用户A或B的WINSOCK端口处于和服务器S的连接状态,怎么才能让A和B在不端开连接或端开连接但端口号不变的情况下让A和B能直接进行连接! 



6.首先 a向b的真实ip和端口 发送一条空命令   

7.首先 b向a的真实ip和端口 发送一条空命令  

8.a可以向b发送真实信息了   ,b也可以向a发送信息了

超越神的男人 answered 11 years, 9 months ago

有外网服务端的话,A、B端可以直接主动连接服务器,

然后再服务端再通过这两个连接作中转

虐灯狂人爱迪生 answered 11 years, 9 months ago

MARK

杰b的朋友 answered 11 years, 9 months ago

我都说了方法,你也了解思路干嘛不自己动手啊

……无意义 answered 11 years, 9 months ago

记得有个UDP穿透的论文,你找找看


网上好象没有成品源代码


写是肯定有人写出来,但我个人认为不会有谁愿意将此技术免费发布到网上的.

音无麻理亚 answered 11 years, 9 months ago

可再分配但NAT路由几乎都是随机分配的端口不可能猜到!

Abdiel answered 11 years, 9 months ago

帮顶!只用过绑定端口UDP协议直接发送消息

糖果店老板 answered 11 years, 9 months ago

可否再分配一个端口,与每个用户连接都另分配一个端口。

红发D骑士姬 answered 11 years, 9 months ago

楼上的思路是正确的``但实际上做不到因为此时B的端口和S是连接的不能进入监听状态

karlmao answered 11 years, 9 months ago

如下思路,看一下是否可行:

   服务器知道两用户的IP地址后,发消息给客户端A,将用户B的客户端的IP地址告诉客户端A,让客户端A再直接连接客户端B。

☆夜D猫☆ answered 11 years, 9 months ago

楼上的说了等于没说具体点啊```

话痨G妮妮酱 answered 11 years, 9 months ago

Your Answer