搜索
bottom↓
回复: 29

今天做了实验推翻了我以前的观点,客户端主动发送到服务器,

[复制链接]

出0入0汤圆

发表于 2014-6-2 18:16:57 | 显示全部楼层 |阅读模式
本帖最后由 3050311118 于 2014-6-2 18:18 编辑

是这样的   我在阿里云租了一个虚拟主机服务器  安装了一个TCPUDP调试工具,开启了一个服务,监听一个端口1001
然后我本地电脑去连它。连上了,这边就显示的116.226.18.188:5572是我本地电脑的外网IP和端口,然后我在服务器那端客户端想去连接我本地电脑试试
IP和端口跟 那个信息一样,并且我本地电脑也开启了监听,但是就是连不上

我以为本地电脑主动连它   获得IP服务器就可以主动来连接我本地电脑了呢? 所谓的穿透   具体是怎样的呢?
11111是我本地电脑  222222是服务器电脑

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入58汤圆

发表于 2014-6-2 18:34:43 | 显示全部楼层
估计是你的网络运营商路由做了手脚。或者你拿到的公网IP压根就是net出去的。建议你查查电脑的IP地址是多少,如果用了路由器看看路由器wlan的IP是多少。

出0入0汤圆

发表于 2014-6-2 18:40:46 | 显示全部楼层
116.226.18.188是你的电脑IP么?这个地址好像是你们公司路由的地址吧,你的电脑在你们公司的地址是192.168.1.100吧,需要在你们公司做映射才行。

出0入42汤圆

发表于 2014-6-2 19:05:45 | 显示全部楼层
需要补习网络知识啊!  别考虑在防火墙上为TCP打洞了, 这个很难.

不是这么玩儿的, 尤其TCP. 这个端口上, 防火墙是不允许新的连接进入的, 而且当前tcp连接断开后, 这个端口很快就关闭了.  部分UDP可以这么做, 定时刷新防火墙会话即可.

自己的服务器要找客户端, 需要做的就是保持住这个连接. 办法是任何一端定期地发短报文刷新连接即可. 要通信就利用现有的这个连接发送数据即可. 别指望靠这个已经知的IP和端口号开一个新连接.

出0入0汤圆

发表于 2014-6-2 19:29:16 | 显示全部楼层
albert_w 发表于 2014-6-2 19:05
需要补习网络知识啊!  别考虑在防火墙上为TCP打洞了, 这个很难.

不是这么玩儿的, 尤其TCP. 这个端口上, 防 ...

请问下有没有相关的书籍或资料推荐,最近正在学习TCP

出0入0汤圆

发表于 2014-6-2 20:15:24 | 显示全部楼层
百度 长连接

出0入0汤圆

发表于 2014-6-2 20:22:41 | 显示全部楼层
116.226.18.188应该是你的公网IP,  但是并不代表你是直接联的广域网,  可能你是通过路由器之类的上网。
5572那个端口是你通过路由器连出去时, 路由器随机分配的, 这个随机端口仅允许这个连接使用, 连接关闭后就失效了。
你要提供服务, 要在路由器上做端口映射,  把路由器的5572端口映射到你本机的5572上来。

出0入0汤圆

 楼主| 发表于 2014-6-2 22:59:41 | 显示全部楼层
LZDZ 发表于 2014-6-2 18:40
116.226.18.188是你的电脑IP么?这个地址好像是你们公司路由的地址吧,你的电脑在你们公司的地址是192.168. ...

映射我知道   但是还有一种技术是打洞技术   可以不需要映射的

出0入0汤圆

 楼主| 发表于 2014-6-2 23:02:02 | 显示全部楼层
albert_w 发表于 2014-6-2 19:05
需要补习网络知识啊!  别考虑在防火墙上为TCP打洞了, 这个很难.

不是这么玩儿的, 尤其TCP. 这个端口上, 防 ...

大师说的是    我这边了解到  打洞技术是用UDP来搞的   我再研究下

出0入0汤圆

 楼主| 发表于 2014-6-2 23:03:32 | 显示全部楼层
skylly3 发表于 2014-6-2 20:22
116.226.18.188应该是你的公网IP,  但是并不代表你是直接联的广域网,  可能你是通过路由器之类的上网。
5 ...

嗯  映射我知道    最近在研究打洞技术  据说不用映射

出0入42汤圆

发表于 2014-6-2 23:04:34 | 显示全部楼层
3050311118 发表于 2014-6-2 22:59
映射我知道   但是还有一种技术是打洞技术   可以不需要映射的

既然客户端已经连上服务端, 何须再打洞呢?

难不成你要让服务器指导两个客户端互联? 还要走TCP ? 搞定了的话一定记得告诉我!

出0入0汤圆

 楼主| 发表于 2014-6-2 23:06:11 | 显示全部楼层
albert_w 发表于 2014-6-2 23:04
既然客户端已经连上服务端, 何须再打洞呢?

难不成你要让服务器指导两个客户端互联? 还要走TCP ? 搞定了 ...

是的 好的    我想让两个客户端连接  发现网络基础知识还不够  努力学习中

出0入0汤圆

发表于 2014-6-2 23:10:52 来自手机 | 显示全部楼层
3050311118 发表于 2014-6-2 23:06
是的 好的    我想让两个客户端连接  发现网络基础知识还不够  努力学习中 ...

这个用途好,比如有两个客户端A,B分别和云服务器建立链接,那么如何实现A与B的点到点连接?

出0入42汤圆

发表于 2014-6-2 23:14:28 | 显示全部楼层
ddqq 发表于 2014-6-2 23:10
这个用途好,比如有两个客户端A,B分别和云服务器建立链接,那么如何实现A与B的点到点连接? ...

纯无端口映射的情况,一般是UDP来做的

出0入0汤圆

发表于 2014-6-2 23:32:56 来自手机 | 显示全部楼层
现在的QQ等都可以用TCP来做了

出0入0汤圆

发表于 2014-6-3 00:17:13 来自手机 | 显示全部楼层
没看懂,跟不上了,

出0入0汤圆

发表于 2014-6-3 00:24:35 | 显示全部楼层
TCP打洞很多年以前我也做过,  要做一个服务器程序(我管那个程序叫网桥), 架设在公网上。
当时是公司的技术部同事有需求才做的, 用来实现局域网之间的远程控制(类似team viewer的东西)。
我自己订了一套协议, 仿sock5,  服务端和客户端都主动连接到网桥上, 通过网桥进行中转
(其实很简单, 每两个TCP连接就起个线程负责转发, 收到客户端包就直接丢给服务端, 收到服务端包就直接丢给客户端)。
虽然做了测试使用没问题, 但是据说效率有点问题, 没能应用起来。

出0入0汤圆

发表于 2014-6-3 00:29:50 来自手机 | 显示全部楼层
skylly3 发表于 2014-6-3 00:24
TCP打洞很多年以前我也做过,  要做一个服务器程序(我管那个程序叫网桥), 架设在公网上。
当时是公司的 ...

这个还是需要服务器中转,如果无须中转就好了

出0入0汤圆

发表于 2014-6-3 00:34:52 | 显示全部楼层
如果不想编程实现,最简单的中转就是VPN服务器。不用映射,A,B都拨入VPN服务器,然后AB可以任意互访。

出0入0汤圆

发表于 2014-6-3 09:05:01 | 显示全部楼层
好像是nat会把外网的数据抛弃 ,除非外网IP是内网先请求的。否则即使同一个端口 也不会转发
我也是这半懂

出0入0汤圆

发表于 2014-6-3 09:09:59 | 显示全部楼层
Q​Q​通​信​原​理​及​Q​Q​是​怎​么​穿​透​内​网​进​行​通​信​的​?
楼主可以看看百度文库中这篇文章

出0入0汤圆

发表于 2014-10-8 02:02:01 | 显示全部楼层
你这是UDP打洞前奏呀

出0入0汤圆

发表于 2014-10-8 13:15:10 | 显示全部楼层
很想了解这方面的知识

出60入0汤圆

发表于 2014-10-10 17:01:04 | 显示全部楼层
需要了解NAT, 本机地址经过NAT 变成外网地址。但外部看不到本机,需要做NAT 端口映射。 一般无线路由器都有设置

出0入0汤圆

发表于 2014-10-10 17:02:49 | 显示全部楼层
  楼主阿里云租个服务器多少钱啊?具体怎么操作的!

出0入0汤圆

 楼主| 发表于 2014-10-10 22:22:56 | 显示全部楼层
embeddev_1 发表于 2014-10-10 17:02
楼主阿里云租个服务器多少钱啊?具体怎么操作的!

百度搜索下  阿里云主机   有购买的页面的

出90入4汤圆

发表于 2014-10-10 23:48:47 | 显示全部楼层

如果116.226.18.188应该是你的公网IP,要在你的路由中做端口映射。

出0入0汤圆

发表于 2014-10-10 23:56:45 来自手机 | 显示全部楼层
过了个路由,这个就能点到点了。

出0入0汤圆

发表于 2014-10-11 00:01:49 来自手机 | 显示全部楼层
leiyin 发表于 2014-10-10 23:56
过了个路由,这个就能点到点了。

要主机连客户端,可以借助第三方软件吧把内网地址变成外网,比如有个内网建站的软件解析域名,可以实现最后给内网一个ip地址和端口。

出0入228汤圆

发表于 2014-10-11 08:40:00 | 显示全部楼层
本地电脑 UDP应该要一直联着服务器,并 不定时发心跳,数据商量着办。

然后 服务器端,就能直接访问客户端了。

这些天在玩的fuhome.net 就是这样实现的。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 09:31

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表