为什么QQ的信息能进入局域网内部嘚机子
听说是用了UDP协议,但是我写了一段程序:
我叫人在另一个局域网内的一台机子上运行了接收端结果什么反应也没有。
怎么回事吖有人做过这方面的例子吗?
经测试过在同一个局域网内能正常接收。
如果AB都在防火墙里面A连接QQ服务器的时候,服务器就知道A的网關的IP和A经过网关时被转换的端口B访问QQ服务器就知道了它,然后就直接对A网关IP和A被转换后的端口A的网关收到后就会自动发给A机器了
其实,这个问题很简单虽然QQ客户端在局域网内,但是当你打开QQ登录到QQ服务器时通过防火墙,你的客户端与QQ服务器建立了一个长连接你可鉯用netstat -a 看到此连接的状态是 establish。
此时在QQ服务器那面看到的连接的IP是你们局域网防火墙的对外IP。举个例子:
这是一个假象通过QQ服务器看到嘚连接是:
这样,防火墙上的31234口对应的就是你机器的4817口(由于你是发起方,这个数是变化的动态的)
当有信息给你时,QQ服务器只需要發给防火墙的31234口即可(这里防火墙作了地址翻译)
所以,你要测试两个局域网的互传时除非你可以将服务端的IP和端口通过你本地网可鉯静态访问到,否则无法成功!
其实是一个很简单的问题。只要按着接受到的ip和端口发回去就可一了
在代理服务器上,会有一个port分配給local 机子的一个udp它会保留多久,要是我1个小时不发udp数据数据这个port还有用吗?还能出外面发到local 网吗要是2小时,10小时呢
其实只要按着接受到的ip和端口发回去即可
所以,你不可能直接就把消息发到局域网内的机器
你还是要先通过公网上固定的服务器获知局域网内的机器的連接方法。
通过有个IP多播的东西 ICMP的很好可以实现可以跨网段通信,可是很少的路由器支持!
这两个QQ初始连接肯定要服务器来建立然后垺务器把双方的网关地址和端口告诉双方,是否可以解决呢
这样好像有点客户端窃取服务器的连接的意思,虽然是服务器自愿的:)
虽嘫网关不会往这个窃取服务器连接的客户端发消息但是你可以往对方和服务器建立的连接得端口上发消息!!
这样,防火墙上的31234口对应嘚就是你机器的4817口(由于你是发起方,这个数是变化的动态的)
当有信息给你时,QQ服务器只需要发给防火墙的31234口即可(这里防火墙莋了地址翻译)
这个有意思,你要发消息只要往对方防火墙和服务器建立的连接上发消息就可以了?但是防火墙建立的连接是和服务器嘚如果服务器一直不响应这个连接,这个连接会维持多久
用一个听包的程序可以看到,
另外实现两个不同子网的tcp连接是不可能的因為一个syn是不可能到达的
qq的会员之所以能实现不同子网的语音聊天就是这样,
还有一种方法就是直接在nat上面作一个固定的地址转换
不过这樣只能用于固定的用户
来源:盐城广电全媒体新闻中心发咘时间: 查看数:0
出了家门就上车下了车门就进厂。疫情防控期间响水县全力保障外出务工人员返岗就业,做到防疫、返岗两不误
2月23日,在响水县老舍中心社区管委会大院内经过严格消毒处理的两辆大巴车早已停在那里,准备将56名外出务工人员分别送到苏州、无锡、常熟等地就业
响水县老舍中心社区管委会副主任 张德国:“今天我(中心社)区第一批赴无锡、苏州的脱贫户37人、一般农户19人,合计56人即將启程后期我们将根据群众需求陆续安排车辆护送他们外出务工。”
在现场外出务工人员经严格体检、登记等程序后,乘上免费的客運大巴车返岗务工包租专车实行隔离乘坐,每排仅乘坐两人
响水县老舍中心社区老舍村 居民 韩布明:“疫情时间我们一直待在家里,吔不能回厂上班现在政府免费包车送我们去上班,解决我们大难题和后顾之忧”
同时,老舍中心社区还严格做好返岗途中疫情防控烸车次安排一名医护人员和机关干部随车,配备好体温计、消毒液等防疫物资实时监测健康状况,并配发口罩、备足食品
响水县老舍Φ心社区花枝村 居民 庄玉润:“政府不但免费还在车上准备方便面和水,口罩啊准备的非常好。作为出外打工的老百姓非常感谢党和政府。”
为有效解决疫情防控期间外出务工人员返岗的出行难题响水县超前谋划,主动作为逐户发放“拟出县外务工人员无交通工具信息登记表”,采取统一包车分批免费“点对点、一站式”直达运输的方式组织务工人员返岗务工。让外出务工人员“出家门即上车丅车门即进厂”,降低来回倒车感染的风险