程序采取C/S模式,可能存在一个服务端连接大量客户端的情况。
C#中应该采用什么方法来实现一种效率比较高,开销比较小的方案?
是为每一个客户端维持一个连接,还是说和客户端建立连接,等客户端和服务端的数据传送完毕后断开连接?还有,应该采用什么样的方式进行连接?是为每一个连接开一个线程吗?谢谢各位赏光~UP有分~解决的大人单独开帖赠送200分
C#中应该采用什么方法来实现一种效率比较高,开销比较小的方案?
是为每一个客户端维持一个连接,还是说和客户端建立连接,等客户端和服务端的数据传送完毕后断开连接?还有,应该采用什么样的方式进行连接?是为每一个连接开一个线程吗?谢谢各位赏光~UP有分~解决的大人单独开帖赠送200分
解决方案 »
- ReportViewer打印RDLC的图片问题请教
- 为什么C#程序设计书代码都好像是在控制台上运行的,在窗体应用程序中怎么改
- asp.net里form的method问题
- 完成剪切、复制、粘贴的功能;完成全选的功能;完成窗口的排列功能
- 100分(系统不让多给分):SqlDataReader存入数组和取得forms验证票中的用户名和角色问题,毕业答辩,急呀!
- C#的一些问题--如何在程序中调用Word打开文件????
- 多线程通讯问题,高手帮帮忙!
- 怎样给控件里的按钮传动作?
- .net可以和Rose整合吗?怎样去做?
- 如何在c#中实现串口接收一个字节就触发事件处理函数一次?
- 连接ms sqlserver的初级问题
- WEB开发多语言完善的解决方案
用户来请求连接,使用完以后就断开
这样可以提供较多的tcp连接
使用完毕就断开然后重新连接会不会效率比较低?谢谢两位
2.1操作具有持续性,需要保留状态,那么让后来的客户排队(等待)
2.1操作是可中断的,不需要保留状态,那么做完一次操作就断开
C#中应该采用什么方法来实现一种效率比较高,开销比较小的方案?这个问题你可以参看《Windowas 网络编程技术》,我觉得可以用重叠I/0的模式效率最好。
只要一个连接就可以,双方通讯的时候加一个head来标志通讯双方的身份,这样就可以复用这个连接!
而且异步socket是为每一次的send和receive开一个线程的,效率还是比较高的
使用完毕就断开然后重新连接会不会效率比较低?在tcp连接下,效率肯定要比一直连接的时候高的多
一直保持tcp连接很消耗资源,而且肯定有一个连接数上限
服务器开一个线程检测该目录并处理数据,处理后删除