谁知道QQ是怎么样连接我们每个客户端的啊?

mfc198666_002 2011-02-11 04:38:33
听说QQ是用UDP连接的?
大概是怎么一个流程啊?
...全文
364 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
freefei 2011-02-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 mfc198666_002 的回复:]

如果我机器开了2个QQ,不会接错消息,是不是因为接口不一样啊?
[/Quote]
不是接口,是端口,或者另外提供一个字段
蔡袅 2011-02-12
  • 打赏
  • 举报
回复
亲爱的 你还不了解Socket
zouhuiyong 2011-02-12
  • 打赏
  • 举报
回复
每个QQ都 在本机占用一个端口
你登录时,服务器上记录每个客户端的端口
这样,即使同一机器上有多个QQ,也不会乱。
上网有多种情况,一种是直连,这种情况比较简单
还有一种情况是有中继,那么此中继会给你做一个端口映射。
做UDP程序,你要搞懂这些东东。
yucuihaimeng 2011-02-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 mfc198666_002 的回复:]

如果我机器开了2个QQ,不会接错消息,是不是因为接口不一样啊?
[/Quote]
你的用户名又不一样

还有就是11楼说的,不是它首先连接你,是你在连接它
cc_net 2011-02-12
  • 打赏
  • 举报
回复
现在QQ普通聊天好像都是服务器转发,不是点对点,不过视屏和传文件应该是点对点

MSN也是,研究过MSN
walkghost 2011-02-12
  • 打赏
  • 举报
回复
是你连接他,而不是他连接你。
  • 打赏
  • 举报
回复
拜膜
jinjie1212 2011-02-12
  • 打赏
  • 举报
回复
原来是这样啊。。。学到知识了
永磁体呵呵哒 2011-02-12
  • 打赏
  • 举报
回复
qq的服务器是外网IP

当你的客户端向外肉IP发一个UDP的包的时候,你的路由会用他自己的IP+ 一个分配的端口号向外发送,同时创建一SESSION,这时候外网的其它主机,只要向这个路由器的IP+端口号发送数据,你的木机就可以接收了。之所以有心跳包是个了保持这个SESSION。

如果是2个QQ,那会是两个session
mfc198666_002 2011-02-12
  • 打赏
  • 举报
回复
如果我机器开了2个QQ,不会接错消息,是不是因为接口不一样啊?
风之影子 2011-02-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 mfc198666_002 的回复:]
如果我机器开了2个QQ,不会接错消息,是不是因为接口不一样啊?
[/Quote]


是端口不一样
aobob 2011-02-12
  • 打赏
  • 举报
回复
拜膜
myqq191358662 2011-02-12
  • 打赏
  • 举报
回复
应该是端口吧?每个本机开的QQ端口不一样、外网 记录你电脑IP 然后和 你电脑的端口??? 弱弱的猜测...
elittle 2011-02-12
  • 打赏
  • 举报
回复
加油学习,楼上好多、牛人
moonwrite 2011-02-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 mfc198666_002 的回复:]

我看了一下 UDP 和 TCP 都有,但是我这有路由器,QQ是怎么准确的找到我这个机器的IP地址的呢?
是用网上说的那个所为的打洞么 ?
[/Quote]

可以补充一下网络知识
邮递员只是把信叫给你们学校的收信处(路由器)
然后你们学校的收信处再转交你们班级的什么什么员(路由器)
你们班级的什么什么员再转交给你

随便给你提一个问题:
如果你的电脑上开着两个Q 那怎么不会发错消息呢(一个Q的消息跑到另外一个Q去)
Mr_graceless 2011-02-11
  • 打赏
  • 举报
回复
一直以来挺佩服qq的连接速度的。说话对面马上就能收到
flyerwing 2011-02-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhaoyunrui 的回复:]
服务端分配一个session. 和当前的连接保持 然后加上心跳包. 就能找到你.
[/Quote]
心跳包很形象,呵呵,不就是刷吗,说的人都晕了.
zhaoyunrui 2011-02-11
  • 打赏
  • 举报
回复
服务端分配一个session. 和当前的连接保持 然后加上心跳包. 就能找到你.
mfc198666_002 2011-02-11
  • 打赏
  • 举报
回复
我看了一下 UDP 和 TCP 都有,但是我这有路由器,QQ是怎么准确的找到我这个机器的IP地址的呢?
是用网上说的那个所为的打洞么 ?
孟子E章 2011-02-11
  • 打赏
  • 举报
回复
你QQ登录的时候,看设置

另外参考
http://msdn.microsoft.com/zh-cn/library/system.net.sockets.aspx

110,536

社区成员

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

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

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