社区
C#
帖子详情
QQ服务器要和那么多客户端连接,服务器是怎么做到的?
cppkiller
2006-06-16 12:40:05
一个端口对一个客户吗?那得多少端口啊?
...全文
9381
78
打赏
收藏
QQ服务器要和那么多客户端连接,服务器是怎么做到的?
一个端口对一个客户吗?那得多少端口啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
78 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wc_king
2006-11-05
打赏
举报
回复
感谢大康的代码回复!
对于计算机集群这个概念理解不深,请问各位有什么介绍这个概念的资料?
谢谢!
受益了!
再次拜谢!
cppkiller
2006-06-24
打赏
举报
回复
暂且结贴把分给了。起始设定分数太少,研究了半天不知道怎么加分,有好些朋友都该得分的。。。
wq_quake
2006-06-22
打赏
举报
回复
不好意思,建议楼主看看windows网络游戏编程这本书,上面写了一些理论的东西。应该先从理论做起,我做过私服的服务器端编程,用的是Indy,indy是开发源码的,更好一些的还有dxsock尽管都是pascal代码,不过语法么,和c没有什么太大的差别。先读代码再从简单的例子做起,必须得动手作一下才能明白!!!
cppkiller
2006-06-20
打赏
举报
回复
谢谢大康的代码回复。
也谢谢其它网友的回复。起始设分太少了,怎么加分呢?
benjiam
2006-06-20
打赏
举报
回复
一般QQ是大概5000并发但台PC的实现
tcp 都有1w 何况udp
我得到的资料是udp 单机10w tcp 1w
粉红色的火烈鸟
2006-06-19
打赏
举报
回复
QQ说同时在线人数已经突破2000万了
----又不是同时登陆,同时登陆有个十万就差不多了
ggy56
2006-06-19
打赏
举报
回复
盲人说象!
自己把自己玩了还不知道
ggy56
2006-06-19
打赏
举报
回复
什么乱七八糟的?!
工具箱
2006-06-19
打赏
举报
回复
结果是什么样的呀! 还是没搞清楚。。。
我在继续学习中。。。
diyahua
2006-06-19
打赏
举报
回复
QQ只是登录时候才与服务器作一次请求,其它情况下都是P2P的了
sun_daxigua
2006-06-19
打赏
举报
回复
谁说一个端口对付所有的连接不行啊?这么大的通信量,肯定是要做集群的。一个端口的说法是针对一个服务器的。那么多的服务器,还怕承受不了请求啊。腾讯有没有钱就不说了,人家靠这个吃饭的。机群里有负载均衡技术,根本不用担心
sandy33
2006-06-19
打赏
举报
回复
HAVENT(夜雨流星℡) ( ) 信誉:100
……楼主对通讯了解太少
服务器只需开1个端口就足够了
腾讯服务器好像多开了几个端口
人家服务器牛,网络宽阔
最重要的是QQ只负责维护用户列表而已,真正的通讯除了转发的都是P2P连接,除了第一次向服务器获取对方地址外就不会叨扰服务器了(当然,QQ会定期上服务器告知服务器自己还健在,顺便下载好友在线情况)
zhaojiang(不会飞的鱼) ( ) 信誉:100
实际上QQ采用的是UDP协议,而不是TCP协议.
UDP是无连接的, 所以任务与服务器的通讯都是断开的,不存在什么连接问题, 这也是为什么你们有时候会看见"刚才的消息XXXX, 没有成功发送...", 这是因为在规定的时间内,发送的UDP数据包没有收到响应信息,登陆的时候,也是通过这种方式, 验证成功后,会返回一个成功的状态信息到客户端,并在服务器记录当前用户在线, 这就是为什么有的人机器宕掉了,没有向服务器发送退出的信息,所以别人看到该用户"在线", 直到服务器在规定的时间内没有收到客户端的响应信息,所以才清除用户状态.此时别的用户才能知道此用户已经下线了.
我认为此二位讲的有道理,QQ一定不会是实时与服务器相连的,看断线后一会儿QQ才出现下线的提示,可看出。是隔段时间刷新的。这么多人在线腾讯公司的服务器不止1000台吧。
搬运工木木
2006-06-19
打赏
举报
回复
服务端一个端口和多个端口其实还不是一样,如果一个端口要挤爆,多个端口一样要挤爆吧,都是同一个IP的,从网络层而言,都是到同一地址的
yu308
2006-06-19
打赏
举报
回复
mark
huzhangyou
2006-06-19
打赏
举报
回复
我的blog有一片文章
类似于QQ游戏百万人同时在线的服务器架构实现!
http://221.8.9.2/youyou/boblog/read.php?41
还有大型服务器设计的代码
一般windows采用IOCP + ThreadPool
linux采用异步 + non-Blocking + ThreadPool实现
当然按照socket的规定
最大只能支持2^32并发
也就是6w多一点
然而实际根本就不可能的
一般QQ是大概5000并发但台PC的实现,他们使用服务器集群
对于一个QQ游戏100w量,起码需要200台机器的集群
asonglaw
2006-06-19
打赏
举报
回复
暈倒,沒有常常聽說MS SQL的端口是1433,HTTP的端口是80嗎;要是一個客戶端一個端口,那客戶端怎麼去找服務器啊?服務器的端口是固定的,客戶端是動態的。
liangxf0022
2006-06-19
打赏
举报
回复
最好绑定之前用netstat -a看看你现在所有已经绑定得端口
liangxf0022
2006-06-19
打赏
举报
回复
未处理的“System.Net.Sockets.SocketException”类型的异常出现在 system.dll 中。
其他信息: 通常每个套接字地址 (协议/网络地址/端口)
只允许使用一次。
==========
你不可以重复绑定端口,比如别人已经绑定了端口了。
liangxf0022
2006-06-19
打赏
举报
回复
……楼主对通讯了解太少
服务器只需开1个端口就足够了
腾讯服务器好像多开了几个端口
人家服务器牛,网络宽阔
--------------------------
好像这个并不是最好的方案哦,1个端口的容量造就被撑爆了。如果这样的话,Web服务器也不用集群了,一个服务器就OK了
cxz7531
2006-06-19
打赏
举报
回复
至于两个客户端之间聊天,是直接通信,无需服务器中转。每个客户端都包含一个Socket server,和两个Socket Client
加载更多回复(58)
Android即时通讯--仿
QQ
即时聊天源码(含
服务器
)
Android即时通讯--仿
QQ
即时聊天源码(含
服务器
),能够实现多
客户端
的即时聊天功能,即时通讯的基本原理讲解,注释相信,博客地址:http://blog.csdn.net/
qq
_20889581/article/details/50755449
Android基于Socket聊天最终版
Android之基于socket聊天小项目,包含
服务器
、
客户端
、数据库文件以及个人测试的截图。最后一次修改了,开始上班了,不弄了,谢谢大家。
Java网络||socket实现多个
客户端
连接
在一个
服务器
上
使用socket通信的步骤
服务器
端:在
服务器
端用socket()建立套接字,用accept()等待
客户端
连接
,accept()有阻塞的作用,在没有接收到
客户端
连接
时会阻塞
服务器
接下在的执行,知道
客户端
连接
为止。
客户端
:同样利用socket()建立套接字
连接
服务器
,利用字节流从
服务器
里读写数据,直至数据交换完毕(交换完毕与字节流传输有关)。 多
客户端
连接
同一
服务器
设备
连接
服务器
并不只是局...
浩方
连接
不上
服务器
无响应,sv独立
客户端
无法登陆
服务器
(sv独立
客户端
连接
失败)...
登录全国教师信息系统为什么要下载SV独立
客户端
?下载完独立
客户端
以后。桌面上点击右键选择“屏幕分辨率”,再点击“放大或缩小文本和其他项目”,再点在"较小(s)-100%(默认)"前的圆圈中,系统会重新登录就行了。设置好后,再。
客户端
(Client)或称为用户端,是指与
服务器
相对应,为客户提供本地服务的程序。除了一些只在本地运行的应用之外,一般安装在普通的客户机上,需要与服务端互相。warframe...
SocketTCP
客户端
连接
多个
服务器
方法:
连接
多个
服务器
只需要将
连接
服务器
的操作再做几次,原理相同,
客户端
接收线程每
连接
一个
服务器
都要再开启一个
C#
110,545
社区成员
642,580
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章