UDP数据报的原理

IamWhoIam 2002-12-17 11:35:41
我在想一个比较初级的问题,其实很多人也问过。就是在两个局域网内的用户,如何通过防火墙和路由器,建立会话?

用大家熟悉的QQ来讲,就是怎么样让两个QQ交谈,或者,更进一步,怎么样建立“二人世界”?


谢谢。
...全文
101 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zl_2001 2002-12-23
  • 打赏
  • 举报
回复
gz
ye_f 2002-12-22
  • 打赏
  • 举报
回复
如果局域网里两台主机都没有真IP,要建立TCP/IP会话,那么他只有通过在公网上的代理服务器了;



sunshine_djh 2002-12-21
  • 打赏
  • 举报
回复
防火墙的魔力怎么这么大啊
xijhee 2002-12-20
  • 打赏
  • 举报
回复
up
Runn 2002-12-19
  • 打赏
  • 举报
回复
gz
NullGate 2002-12-19
  • 打赏
  • 举报
回复
gz
qiandeng 2002-12-19
  • 打赏
  • 举报
回复
采用端口映射的方式,可以解决内部网的问题
linym 2002-12-19
  • 打赏
  • 举报
回复
to fxieg:
你得看RFC 2616,了解HTTP协议的格式,简单的说,你把你的数据作为一个
APPLICATION-DATA 作为HTTP-BODY就行,但HTTP-HEADER的必要字段要设置正确
baifeng 2002-12-19
  • 打赏
  • 举报
回复
g z
caimouse 2002-12-19
  • 打赏
  • 举报
回复
用HTTP协议是可以,
但用TCP连接到服务器,会占用大量资源.
并且两个客户都在防火墙后,应用TCP是连接不上的.
但可以用UDP来通迅.

为什么ICQ就是当两个用户在防火墙后了就会两个用户都连接到
ICQ服务器,然后通过服务器来转发.
这样设计会需要很多服务器,
营运成本过高.
fxieg 2002-12-19
  • 打赏
  • 举报
回复
怎样用http协议来封装数据??????????
ggzzkk 2002-12-18
  • 打赏
  • 举报
回复
请问防火墙的屏蔽方式是什么样的?是直接屏蔽端口吗?
cai3995 2002-12-18
  • 打赏
  • 举报
回复
"如何通过防火墙和路由器,建立会话?"
全在于防火墙允许连接与否,如果防火墙不干,你绝对连不起
大大怪老张 2002-12-18
  • 打赏
  • 举报
回复
建立二人世界是用的tcp协议,面想连接的。只要让一端listen ,另一端去connect 就可以了。
linym 2002-12-18
  • 打赏
  • 举报
回复
要安全的透过防火墙,可以使用80端口,一般防火墙是不封80端口的,
你可以采用http协议来包装你的数据,msn就是如此
mycih2000 2002-12-18
  • 打赏
  • 举报
回复
如果在用不同的代理服务器或有防火墙的情况下,用UDP是无法实现的,因为UDP本身是点对点的通讯方式,如果要跨网段,在两个不同的局与网进行通信,必须要用TCP/IP的SOCKET建立连接。连接可以是相互的,也可以是C/S的!这个随便你。
caimouse 2002-12-18
  • 打赏
  • 举报
回复
其实QQ的UDP是这样的,
比如: A,B在防火墙后,那么它们就没有对外面公开的端口了。
所以呢就要在防火墙服务器上用SOCKS5来设置一些端口。
那么A,B是怎么样能直接发呢?
是因为A,B登录到QQ服务器时,就会有防火墙服务器上的端口保存在服务器上。
这样只要A往B的防火墙服务器上的端口发送,B就会收在内部网收到。
因为防火墙服务器转发给B的。
谁先发送的,就要从服务器取得它目的电脑的IP和端口。
//
有人说防火墙服务器上的端口是临时分配,只会在一段时间内有效?
那么QQ怎么做呢?
QQ是这样做的,如果最后两个人通迅了,就会相互不断发PING包给对方。
这样防火墙服务器上的端口,就会一直维持住。

这点技术我已经试过,可用。
http://www.codediy.com/codebbs/index.asp

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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