社区
C#
帖子详情
一个关于socket通讯的问题,呵呵
ilovechao1314
2007-06-28 05:23:02
我想问下如果在一个局域网中,50m带宽,服务器是一般的主机,大概p4 3.0 ,2g内存的,如果有100个客户端tcp访问,每次数据量大概在1-1.5k左右,服务器能不能承载?还有如果我只是调用framework2中的socket,而不是用完成端口这类的东西,可以吗?
...全文
219
7
打赏
收藏
一个关于socket通讯的问题,呵呵
我想问下如果在一个局域网中,50m带宽,服务器是一般的主机,大概p4 3.0 ,2g内存的,如果有100个客户端tcp访问,每次数据量大概在1-1.5k左右,服务器能不能承载?还有如果我只是调用framework2中的socket,而不是用完成端口这类的东西,可以吗?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
RedGoldFish
2007-06-29
打赏
举报
回复
10分钟1次 太轻松了,我们还有一些服务器要应付在秒级的大量客户端访问,按我上边说的模式一样跑的很好.
ilovechao1314
2007-06-29
打赏
举报
回复
客户端访问频繁程度大概是每个客户端10分钟1次吧,如果根据1楼的说话那就是说每次大概要10k的数据量,但是我怕同一时间100个客户端同时访问,
wxlcc520
2007-06-28
打赏
举报
回复
关注
csharpstudy
2007-06-28
打赏
举报
回复
我和楼主一样有这样的需求....呵呵..
RedGoldFish
2007-06-28
打赏
举报
回复
说一些我自己做Socket服务器的体会:
1. sokcet异步通讯时候最好不要手工产生线程,而要用.NET自身提供的异步通讯方式:
BeginXXX/EndXXX.它的好处是可最大限度地利用通讯硬件自己的线程和资源,而不是CPU上的线程.
比如用TcpClient类作异步读时,可以用TcpClient.GetStream().BeginRead, 并在它的CallBack函数中再次调用BeginRead,从而形成一个循环.
2. 线程对Server程序来说是非常昂贵的资源,尽量从设计的时候就少开线程,如果一个程序同时有二三百个线程,它即使不死性能也会很差.
楼主这个系统,如果服务器解析每个用户线程发来的消息时需要使用一些线程之间的共享资源和数据,为减少线程同步的开销和复杂性,可以考虑接到用户消息后马上抛到一个临时队列里,整个程序只用一个线程从队列中取出消息并解析.假如处理了客户端的信息后还需要向客户端返回信息,可以采用异步方式发送,这样一来服务器性能会好一些.
3.如果需要向控制端发送许多一模一样的信息而且控制端都在同一个网段里,可以考虑用UDP的MultiCast来减少点儿负担,前提是所在的网允许MultiCast.
RedGoldFish
2007-06-28
打赏
举报
回复
服务器做的好应该没问题. 我用Socket 异步操作时候一个服务器接收几百个连接, 每个客户访问的频繁程度是在分钟级. 不知道LZ的客户端访问频繁程度如何.
netusemaster
2007-06-28
打赏
举报
回复
1.用多线程
2.CPU占用调试,socket一次传输数据大概8K左右
基于
Socket
写
一个
ssh
通讯
,并且完美解决粘包
问题
注意:本例所有代码均在windows平台下实现,如果是Linux或者Mac os下可能会存在诧异并产生一定
问题
。 因此:如果需要测试请在windows平台下进行。 首先来看客户端实现代码: import
socket
client =
socket
.
socket
() client.connect(('localhost',9999)) while True: msg = in...
C WinForm
Socket
即时
通讯
C# WinForm
Socket
即时
通讯
【下载地址】CWinForm
Socket
即时
通讯
C# WinForm
Socket
即时
通讯
欢迎使用本项目,这是
一个
基于C#和Windows窗体(WinForms)技术实现的
Socket
即时
通讯
系统 ...
【CAN
通讯
】Linux
Socket
CAN 的应用指南
在本章中,我们将介绍
Socket
CAN 的背景和重要性,以及它在现代工业和网络
通讯
中的应用。我们将从技术的普及和实用性出发,探讨其对用户心理和需求的适应性,以确保读者能够全面了解
Socket
CAN 的核心概念和基础应用。
一个
简单的VS C++
Socket
通讯
程序
一个
简单的VS C++
Socket
通讯
程序 去发现同类优质开源项目:https://gitcode.com/ 此仓库提供的是
一个
简易的
socket
通讯
程序,包含服务端和客户端两部分,以帮助开发者理解和掌握基本的网络编程。 程序描述 本程序为C++编写,主要包括两个部分:
socket
Client.cpp(客户端)和sockServer.cpp(服务端)。用户需要分别建立两个空的C++项目,将对应的...
用
Socket
做
一个
通讯
项目的一点心得
最近做了
一个
小型的
通讯
项目,有一点体会,在这里拿来和大家分享一下: 一:关于
Socket
的长连接 这个项目中,客户提出了“一次连接,10次交互”的需求,就是说创建
一个
Socket
后,在客户端与服务端完成10次交互前(客户端请求,服务端响应算一次交互),不会被关掉。起初按照这种思路来做
Socket
的长连接,发现在使用阻塞IO的情况下,如果,在一次交互后不关闭
Socket
,那么下次客户端虽然可以正常发...
C#
111,128
社区成员
642,535
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章