两地局域网都接在互联网上,怎么实现两地udp/tcp通信

u010705087 2016-01-20 03:11:38

求高手解答,需要在路由上做端口映射吗?
...全文
1554 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
只要你在公网上有一台服务器,那么你就可以让几万客户端实时连在你的服务器上,实时推送消息给任何客户端。服务器就是一个“中转”。 那么一台服务器到两台服务器是一个质变(需要设计集群业务逻辑),而两台服务器到一万台服务器不过就是一个量变。
  • 打赏
  • 举报
回复
引用 5 楼 u010705087 的回复:
[quote=引用 1 楼 xdashewan 的回复:] 应该需要的,6个字真麻烦
qq消息这类软件也没有用端口映射,是因为互联网上有公网服务器吗[/quote] 有至少 10 几万台服务器。比如说你的 QQ 连上了广州的一台服务器,那么你发信息给乌鲁木齐的一个 QQ,腾讯服务器跨了4台机器,最终由乌鲁木齐的QQ所上的那个服务器(例如它部署在敦煌)推送消息给QQ客户端。
小友朋 2019-03-30
  • 打赏
  • 举报
回复
你这是做的VPN吗,不是的话PCa和PCb就纯粹没关系啊 ,做端口映射干什么,如果想互访,把路由器换成零遁智能网关就可以了
  • 打赏
  • 举报
回复
需要在路由器上做个端口映射放出来
u010705087 2016-01-29
  • 打赏
  • 举报
回复
引用 29 楼 evionmzs 的回复:
[quote=引用 27 楼 u010705087 的回复:] [quote=引用 26 楼 sp1234 的回复:] 如果你不仅仅“两地”,而是会扩展为“3地、30地”通讯,甚至像微信那样是几亿(而且不同操作系统平台)地的通讯,那么应该在公网上设计开发一个专门的业务服务器。而纠结tcp/udp只能是浪费时间。
我也想用服务器的方式,但是小白一枚,不知道怎么在公网上构建设计个业务服务器,怎么个设计思路,有资料吗,给点专业意见吧,贴点连接也可以啊,我是无从下手啊,大神[/quote] 感觉楼主网络编程接触得不多,一上手就这么个难度的项目,确实不容易。 建议你先做一些简单的应用。比如简单的c/s聊天程序,试着传一下文件。 多线程模拟客户端提高并发测试。 不然,就算你找到成品了,出个小小的问题都要把人逼得跳楼的。 [/quote] 简单的c/s聊天程序是可以练手,却不是我想用的,带着问题去学习学得更快,再说我也没说要成品,我要的是思路或者资料,研究方向啊,当然有成品学起来更快
马少华 2016-01-28
  • 打赏
  • 举报
回复
引用 27 楼 u010705087 的回复:
[quote=引用 26 楼 sp1234 的回复:] 如果你不仅仅“两地”,而是会扩展为“3地、30地”通讯,甚至像微信那样是几亿(而且不同操作系统平台)地的通讯,那么应该在公网上设计开发一个专门的业务服务器。而纠结tcp/udp只能是浪费时间。
我也想用服务器的方式,但是小白一枚,不知道怎么在公网上构建设计个业务服务器,怎么个设计思路,有资料吗,给点专业意见吧,贴点连接也可以啊,我是无从下手啊,大神[/quote] 感觉楼主网络编程接触得不多,一上手就这么个难度的项目,确实不容易。 建议你先做一些简单的应用。比如简单的c/s聊天程序,试着传一下文件。 多线程模拟客户端提高并发测试。 不然,就算你找到成品了,出个小小的问题都要把人逼得跳楼的。
  • 打赏
  • 举报
回复
如果你不仅仅“两地”,而是会扩展为“3地、30地”通讯,甚至像微信那样是几亿(而且不同操作系统平台)地的通讯,那么应该在公网上设计开发一个专门的业务服务器。而纠结tcp/udp只能是浪费时间。
u010705087 2016-01-26
  • 打赏
  • 举报
回复
引用 24 楼 hemowolf 的回复:
首先要解决找到对方主机的问题 现在一般办公室电脑都是通过一个局域网内部连接,再统一由一个出口连接到互联网,而这种方式一般都是动态的IP地址,你的出口路由器一旦重启,电信或其它运营商会重新动态分配一个IP地址给你。其实花生壳就是用来解决这种问题的 后面的事,俺也不太懂了 楼主加油
我已经测试过了,一端做端口映射然后知道公网IP就可以用udp互相通信了,现在就是动态IP的问题了,然后用nat123做了域名动态解析,不过没做域名的通信测试,IP换成域名绑定这样应该可以,然后我想就试试TCP行不行,能用TCP就不用UDP
guestb 2016-01-26
  • 打赏
  • 举报
回复
在互联网上部署一台服务器,帮助建立tcp udp隧道。 或者通过服务器中转数据。
u010705087 2016-01-26
  • 打赏
  • 举报
回复
引用 26 楼 sp1234 的回复:
如果你不仅仅“两地”,而是会扩展为“3地、30地”通讯,甚至像微信那样是几亿(而且不同操作系统平台)地的通讯,那么应该在公网上设计开发一个专门的业务服务器。而纠结tcp/udp只能是浪费时间。
我也想用服务器的方式,但是小白一枚,不知道怎么在公网上构建设计个业务服务器,怎么个设计思路,有资料吗,给点专业意见吧,贴点连接也可以啊,我是无从下手啊,大神
雪狼孤竹 2016-01-22
  • 打赏
  • 举报
回复
你可以下载一个内网版的花生壳,花8元注册,包含两个端口映射。 这种方式不用在路由器上配置,只要用花生壳配置一下内网IP,端口,开机打开花生壳就可以了。 访问的时候,用免费域名加端口,就可以。
秋的红果实 2016-01-22
  • 打赏
  • 举报
回复
公网IP,或者用动态域名,搜下花生壳
蝶恋花雨 2016-01-22
  • 打赏
  • 举报
回复
首先IP 固定然后 建个VPN 连接 就可以两地通信了。
u010705087 2016-01-22
  • 打赏
  • 举报
回复
引用 19 楼 jzdriver 的回复:
VPN方式,是企业级经常用到的技术,估计对你可能略有高难。 自己小范围用,第2方案就可以。
第一种方式有没有更详细的资料,我也是想做到在哪都可以通信的效果
小灰狼 2016-01-22
  • 打赏
  • 举报
回复
首先要解决找到对方主机的问题 现在一般办公室电脑都是通过一个局域网内部连接,再统一由一个出口连接到互联网,而这种方式一般都是动态的IP地址,你的出口路由器一旦重启,电信或其它运营商会重新动态分配一个IP地址给你。其实花生壳就是用来解决这种问题的 后面的事,俺也不太懂了 楼主加油
jzdriver 2016-01-21
  • 打赏
  • 举报
回复
引用 17 楼 u010705087 的回复:
[quote=引用 15 楼 jzdriver 的回复:] 1、建立互联网上的服务器,两边都主动连接服务器,由服务器实现转发 2、其中A点做服务器,并端口映射。B点和A点通讯。(如果都没固定IP,就需要A点用动态域名方便B点寻找) 3、A点建立VPN服务器,B点拔入A点,这样,B点就处在和A点同一局域网了。局域网通讯就简单了。
这是3种方案吧,方案2中实现b发送a接受的功能,其中动态域名这个,刚到花生壳申请了个域名,但yangjianliangqwe.6655.la但好像路由器不支持,如图 我自己能ping yangjianliangqwe.6655.la:1345 通,我让别人试了ping不通,怎么回事啊 3这个好像最适合,查资料说会影响上网功能,需要改DNS才行 1这个建互联网上的服务器,不懂,是不是也要申请域名, 有更好的资料给详细介绍下吗[/quote] 不用在路由上弄,,可以在这台路由下的某一台电脑上,安装 动态域名的 客户端就可以。 路由器上开端口映射就可以。
jzdriver 2016-01-21
  • 打赏
  • 举报
回复
VPN方式,是企业级经常用到的技术,估计对你可能略有高难。 自己小范围用,第2方案就可以。
u010705087 2016-01-21
  • 打赏
  • 举报
回复
引用 15 楼 jzdriver 的回复:
1、建立互联网上的服务器,两边都主动连接服务器,由服务器实现转发
2、其中A点做服务器,并端口映射。B点和A点通讯。(如果都没固定IP,就需要A点用动态域名方便B点寻找)
3、A点建立VPN服务器,B点拔入A点,这样,B点就处在和A点同一局域网了。局域网通讯就简单了。

这是3种方案吧,方案2中实现b发送a接受的功能,其中动态域名这个,刚到花生壳申请了个域名,但yangjianliangqwe.6655.la但好像路由器不支持,如图
我自己能ping yangjianliangqwe.6655.la:1345 通,我让别人试了ping不通,怎么回事啊

3这个好像最适合,查资料说会影响上网功能,需要改DNS才行
1这个建互联网上的服务器,不懂,是不是也要申请域名,
有更好的资料给详细介绍下吗
u010705087 2016-01-21
  • 打赏
  • 举报
回复
引用 13 楼 llsus 的回复:
至少有一方是静态IP,并且在路由器上映射端口,如果要2方互为客户端和服务器,就必须都是静态IP并且映射端口 例如,甲方做服务器,内网IP是192.168.1.5,端口是3003,路由网关是192.168.1.1(外网静态地址是222.222.222.222),那么你就要在192.168.1.1把端口3003映射到192.168.1.5的3003,乙方那边连接222.222.222.222的3003端口就行了(当然,你也可以把 192.168.1.1,3333映射到192.168.1.5的3003,乙方那边连接222.222.222.222的3333端口) 这和QQ等通讯类软件不一样,因为QQ有服务器,所有QQ客户端都是通过服务器获取对方IP的,所以不需要客户端有静态IP
我如果只需要给甲方发消息,那么就只需要在甲方做端口映射到外网,乙方那边的winsock远程绑定222.222.222.222,本地绑定内网IP就可以吗?
jzdriver 2016-01-21
  • 打赏
  • 举报
回复
1、建立互联网上的服务器,两边都主动连接服务器,由服务器实现转发 2、其中A点做服务器,并端口映射。B点和A点通讯。(如果都没固定IP,就需要A点用动态域名方便B点寻找) 3、A点建立VPN服务器,B点拔入A点,这样,B点就处在和A点同一局域网了。局域网通讯就简单了。
加载更多回复(14)

110,536

社区成员

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

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

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