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 12 years, 10 months ago

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

无聊无死聊 answered 12 years, 10 months ago

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

whymt answered 12 years, 10 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 12 years, 10 months ago

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

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

虐灯狂人爱迪生 answered 12 years, 10 months ago

MARK

杰b的朋友 answered 12 years, 10 months ago

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

……无意义 answered 12 years, 10 months ago

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


网上好象没有成品源代码


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

音无麻理亚 answered 12 years, 10 months ago

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

Abdiel answered 12 years, 10 months ago

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

糖果店老板 answered 12 years, 10 months ago

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

红发D骑士姬 answered 12 years, 10 months ago

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

karlmao answered 12 years, 10 months ago

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

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

☆夜D猫☆ answered 12 years, 10 months ago

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

话痨G妮妮酱 answered 12 years, 10 months ago

Your Answer