社区
C#
帖子详情
假设一万个客户端需要连接服务器,选用什么传输协议比较好??????
wj549860366
2011-03-17 08:31:41
假设一万个客户端需要连接服务器,选用什么传输协议比较好??????
...全文
597
27
打赏
收藏
假设一万个客户端需要连接服务器,选用什么传输协议比较好??????
假设一万个客户端需要连接服务器,选用什么传输协议比较好??????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
27 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
风中一匹狼
2011-04-14
打赏
举报
回复
问哈,如何让客户端
同时
向多个服务器
同时
发送数据呢,高手求解!
luluyy
2011-03-18
打赏
举报
回复
[Quote=引用 22 楼 vrhero 的回复:]
引用 18 楼 lizhibin11 的回复:
我认为一般公司可能不会让一台服务器承载1000个以上的客户端,即便你们的要求这么极端,不但承载10000个,而且10000个会同时发送数据,SocketAsyncEventArgs也完全没问题。别忘了我这是一台笔记本,同时承载服务端和一万个客户端连接。
你忘了一件事...假设每个连接流量1Kbps(这非常小),10000个就差不多10Mbps……
[/Quote]
对` 要专用的服务器处理专门的数据 比如一个服务器专门处理图片,有的专门处理视步有的专门处理语音等等
采用分布式 而且这个服务器集群不光是一个` 有好多个比如QQ就是这样的`全国各地基本都有`要不然一地震坏掉了`迄不是QQ就从世界消失了?这些服务器集群中的数据都是一样的`这不是最主要的`我认为这样做的原因例似于P2P 不同地区的人连接不同地区的服务器`这样速度快
xu_2007
2011-03-18
打赏
举报
回复
楼主朋友,你表达的这个概念不是很清楚,如果你是要测试1万个连接同时连接到服务器,而不发送任何数据的话,那么SocketAsyncEventArgs这个类完全可以在一台服务器上实现一万个连接;如果你是要测试一万个连接同时并发多少字节的数据量到服务器的话,那就不好说了,这和你们公司的网络带宽也有非常大的关系。不过有朋友测试过,我给出数据:千M局域网, IBM3650 10台HP工作站, 模拟5000客户端 , Tcp长连接, 每个客户端每秒200次, 每次8K数据 , 没有丢包, 但服务CPU非常高.. !你可以参考一下!
jprshhx0
2011-03-17
打赏
举报
回复
最底层的都是Tcp/Ip Udp,往上才是http
lizhibin11
2011-03-17
打赏
举报
回复
我认为一般公司可能不会让一台服务器承载1000个以上的客户端,即便你们的要求这么极端,不但承载10000个,而且10000个会同时发送数据,SocketAsyncEventArgs也完全没问题。别忘了我这是一台笔记本,同时承载服务端和一万个客户端连接。
wj549860366
2011-03-17
打赏
举报
回复
[Quote=引用 14 楼 lizhibin11 的回复:]
正好刚才做了一个SocketAsyncEventArgs的测试,服务端和客户端在同一台机器,一万个客户端同时发起连接,连接之后立即发送客户端系统时间,服务端接收到后与接收时间比较,一万个连接的发送与接收时间差如上图。
三万个连接在我这个笔记本上就没办法全部收到了,原因目前还不清楚。不过正常使用中瞬间一万个客户端同时连接并同时发送数据的情况不多见,更不用说三万个了。
[/Quote]
我现在面临的问题就是一万个客户端同时连接并同时发送数据,不知道该怎么办呢!
int64
2011-03-17
打赏
举报
回复
还是看你的系统优化和架构
lizhibin11
2011-03-17
打赏
举报
回复
上面单位是毫秒,连接协议是TCP
lizhibin11
2011-03-17
打赏
举报
回复
正好刚才做了一个SocketAsyncEventArgs的测试,服务端和客户端在同一台机器,一万个客户端同时发起连接,连接之后立即发送客户端系统时间,服务端接收到后与接收时间比较,一万个连接的发送与接收时间差如上图。
三万个连接在我这个笔记本上就没办法全部收到了,原因目前还不清楚。不过正常使用中瞬间一万个客户端同时连接并同时发送数据的情况不多见,更不用说三万个了。
tongguoyoujianZLB
2011-03-17
打赏
举报
回复
[Quote=引用 12 楼 zhengyanming2005 的回复:]
引用 3 楼 chengjia2284 的回复:
引用 1 楼 vrhero 的回复:
“一万个客户端连接”这种说法很模糊...一天内?一小时内?还是同时?
传输协议现在全世界几乎都只用TCP/IP这一种...而高并发能力由架构和软硬件条件决定,跟传输协议没有太大关系...
+1
+1
[/Quote]
+1
Mr.小铭
2011-03-17
打赏
举报
回复
[Quote=引用 3 楼 chengjia2284 的回复:]
引用 1 楼 vrhero 的回复:
“一万个客户端连接”这种说法很模糊...一天内?一小时内?还是同时?
传输协议现在全世界几乎都只用TCP/IP这一种...而高并发能力由架构和软硬件条件决定,跟传输协议没有太大关系...
+1
[/Quote]
+1
wj549860366
2011-03-17
打赏
举报
回复
[Quote=引用 10 楼 beargo 的回复:]
TCP的话它本身就是会自动分配通道给不同连接上来的不同客户,因为它是长联的...
UDP则所有都是用相同的端口来接收.所以理论上它是没有客户连接上限的.它只管发或收..不管是谁来的..所以..如果你用UDP的话必须在包信息头里加上所需要的区分的信息..例如哪个客户的,是什么类型的东西.发送文件的话它是哪个文件的.此包在文件的起始位置,此包的实际内容长度.有了这些头信息.就可以分析判断是谁的东西……
[/Quote]
如果选用TCP,如何解决连接上限的问题呢???????????
beargo
2011-03-17
打赏
举报
回复
TCP的话它本身就是会自动分配通道给不同连接上来的不同客户,因为它是长联的...
UDP则所有都是用相同的端口来接收.所以理论上它是没有客户连接上限的.它只管发或收..不管是谁来的..所以..如果你用UDP的话必须在包信息头里加上所需要的区分的信息..例如哪个客户的,是什么类型的东西.发送文件的话它是哪个文件的.此包在文件的起始位置,此包的实际内容长度.有了这些头信息.就可以分析判断是谁的东西,需要做什么事情了.
wj549860366
2011-03-17
打赏
举报
回复
我要解决的也正是楼上所说的
zhouliang0806
2011-03-17
打赏
举报
回复
关键要考虑多个端口的客户端同步的问题.
我借lz的问题,提一个相关的问题:
如果有1w的客户机想向同一个服务器
同时
传递文件,这个有没有可能实现?
是不是需要用不同的端口来分别接受,否则,每个客户机的请求都通向了同一个socket通道,传输是不是就出问题了。
wj549860366
2011-03-17
打赏
举报
回复
[Quote=引用 1 楼 vrhero 的回复:]
“一万个客户端连接”这种说法很模糊...一天内?一小时内?还是同时?
传输协议现在全世界几乎都只用TCP/IP这一种...而高并发能力由架构和软硬件条件决定,跟传输协议没有太大关系...
[/Quote]
同时连接,“高并发能力由架构和软硬件条件决定”,能不能具体点,给我点架构和软硬件方面的思路???
ycproc
2011-03-17
打赏
举报
回复
TCP/IP UDP
沉默的羔羊1986
2011-03-17
打赏
举报
回复
[Quote=引用 4 楼 mervyn807 的回复:]
楼主没注意协议的作用是什么
协议只是给你一个发送和接受数据的格式而已
[/Quote]
同意
缭绕飘渺
2011-03-17
打赏
举报
回复
楼主没注意协议的作用是什么
协议只是给你一个发送和接受数据的格式而已
kid_wang
2011-03-17
打赏
举报
回复
TCP/IP。1000万也是这个。连接的速度、安全性、信息损耗都和协议没关系。
加载更多回复(6)
u8系统怎么
连接
服务器
,u8
客户端
如何
连接
服务器
u8
客户端
如何
连接
服务器
内容精选换一换本章节以Linux操作系统为例,指导您通过弹性云
服务器
内网
连接
GaussDB(for Cassandra)实例。您可以根据业务需求
选用
普通方式或SSL方式
连接
实例。目标实例必须与弹性云
服务器
在同一个虚拟私有云和子网内才能访问。该弹性云
服务器
必须处于目标实例所属安全组允许访问的范围内。如果目标实例所属安全组为默认安全组, 则无需设置安全组规用户购买DDM实例后...
计算机网络自学笔记 传输层
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 计算机网络自学笔记 传输层前言一、1( 3分 )简析TCP
连接
建立的基本过程。二、2( 2分 ) 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一、1( 3分 ) 简析TCP
连接
建立的基本过程。 客户首先向
服务器
发送一个特殊的TCP报文段
服务器
用另一个特殊的TCP报文段来响应 客户再用第三个特殊的报文段作为响应 前两个报文段不承载“有效载荷”,也就是不包含应用层数据 而第三个报文段可以承载有效载荷 二、2(
cf虚拟
服务器
设置方法,cf
客户端
服务器
连接
cf
客户端
服务器
连接
内容精选换一换DCS缓存实例支持域名访问后,若
客户端
无法使用域名
连接
DCS缓存实例,
需要
将租户子网的DNS服务地址配置为内网域名
服务器
地址。具体配置方法请参考修改VPC子网的DNS
服务器
地址。本章节指导您使用MongoDB
客户端
,通过内网
连接
集群实例。通过MongoDB
客户端
连接
实例的方式有普通
连接
和SSL
连接
两种,其中SSL
连接
通过了加密功能,具有更高的安全性。为了提升...
100万并发
连接
服务器
100万并发
连接
服务器
笔记之准备篇 前言 测试一个非常简单
服务器
如何达到100万(1M=1024K
连接
)的并发
连接
,并且这些
连接
一旦
连接
上
服务器
,就不会断开,一直连着。 环境受限,没有
服务器
,刚开始都是在自己的DELL笔记本上测试,凭借16G内存,和优秀的vmware workstation虚拟机配合,另外还得外借别人虚拟机使用,最终还得搭上两台2G内存的台式机(安装cento
为什么 TCP 三次握手期间,
客户端
和服务端的初始化序列号要求不一样?
大家好,我是小林。 为什么 TCP 三次握手期间,
客户端
和服务端的初始化序列号要求不一样的呢? 接下来,我一步一步给大家讲明白,我觉得应该有不少人会有类似的问题,所以今天在肝一篇! 正文 为什么 TCP 三次握手期间,为什么
客户端
和服务端的初始化序列号要求不一样的呢? 主要原因是为了防止历史报文被下一个相同四元组的
连接
接收。 TCP 四次挥手中的 TIME_WAIT 状态不是会持续 2 MSL 时长,历史报文不是早就在网络中消失了吗? 是的,如果能正常四次挥手,由于 TIME_WAIT 状态会持续
C#
111,125
社区成员
642,540
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章