C# socket 通讯问题

huifeidebaobao 2013-12-20 11:21:48
A是外网有固定IP的服务器
B,C是家庭通过路由上网的PC

B,C如何互相通信?
...全文
163 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
huifeidebaobao 2013-12-20
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
通过A中转,当然如果硬件支持,可以大洞
谢谢,再问下 对于A来说,如何标识B,C,D,E在网络上是固定的地址,port是可以在程序中固定死的吗?
  • 打赏
  • 举报
回复
A做服务端 监听一个端口,BC 都发数据到 A ,A处理后 发给B 或者 C 。
bdmh 2013-12-20
  • 打赏
  • 举报
回复
通过A中转,当然如果硬件支持,可以大洞
by_封爱 版主 2013-12-20
  • 打赏
  • 举报
回复
A固定了 IP以及端口也就固定了. 那么 其他(BCDE)客户端连接 到A ip就是自己的IP 端口是随机的. 假设他们都连接上了 B要控制C 那么 B给A发送一个命令 A接收到了之后 在给C
huifeidebaobao 2013-12-20
  • 打赏
  • 举报
回复
引用 4 楼 bichir 的回复:
A作为服务器,建立SOCKET服务监听,收集来自B,C,D的信息,比如他的IP,然后存起来。B就从A来获取C,D的IP信息,当B要向C,D发信息时,就从A中获取到C,D的IP,然后直接在B中建立与C,D的SOCKET通信。
嗯,是对socket不熟悉,上面的图,其实就可以解决我的疑问了。
huifeidebaobao 2013-12-20
  • 打赏
  • 举报
回复
引用 5 楼 xiaozhu39505 的回复:
楼主可以看看P2P的实现原理。
的确,这块不熟,刚刚看了下,觉得我这个问题有点蠢的。。
飞小猪 2013-12-20
  • 打赏
  • 举报
回复
楼主可以看看P2P的实现原理。
bichir 2013-12-20
  • 打赏
  • 举报
回复
A作为服务器,建立SOCKET服务监听,收集来自B,C,D的信息,比如他的IP,然后存起来。B就从A来获取C,D的IP信息,当B要向C,D发信息时,就从A中获取到C,D的IP,然后直接在B中建立与C,D的SOCKET通信。

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧