以UDP方式实现的P2P,客户端是监听服务器的ip和端口还是监听本地的ip和端口?
如果两台处于同一个局域网内,那又该如何????
如果两台处于同一个局域网内,那又该如何????
解决方案 »
- 怎样使用dataGridView控件直接写数据到sql server 数据库中。
- 以下修改代码为什么感觉有些地方多余
- 关于ComponentArt Charting WebChart做曲线图,用过的高手来帮忙看看
- 如何将从数据库表中取出的一个字段的值存为一个字符串数组?
- 请问在WIN2003下怎么跳过组件更新,直接安装vs.net
- WPF,如何克隆一个元素
- 为什么 ,我一新建c#的windows控件库,norton就提示发现恶意脚本,但norton杀毒效果是最好的
- 困扰多时的 Visual Studio.net 2003安装出错问题!
- 一个简单问题(急).
- Thread应用时的问题
- 如何判断一个字符串是否是正确的时间格式。。。。
- 关于C#操作活见鬼的问题.(注:本人已搜过msdn并学习过相关问答)
服务器 客户端
(socket的监听<socket的服务器端>)<------------(socket的发送<socket的客户端>)
(socket的发送<socket的客户端>)-------------->(socket的监听<socket的服务器端>)我认为是p2p的每个端点都要建立一个服务端和客户端,因为是单功通讯的.
客户机A(IP+端口) ->网关(新IP+新端口) ——服务器 ——网关(新IP+新端口)->客户机B(IP+端口) 这样,客户B得到客户A要求连接的请求后,
所谓的打洞就是给客户A发送UDP请求,
然后客户A那里也是循环监听本地端口。
我的疑惑是,客户B发给客户A的信息,应当是发送到它所属的网关去吧,
这样,网关会自动转发到客户A嘛???如果是这样,我怎么知道本机是通过哪个端口发送数据呢?(就是客户A的端口)
就是说,只用监听本地8000端口,就可以了吗??
是不是udp发送数据的默认端口是8000啊???
udp 没有发送数据的默认端口,如果你不指定server的发送端口,你的client又如何接收信息呢 ?P2P之UDP穿透NAT的原理与实现:
http://www.ppcn.net/n1306c2.aspx