【发布时间】:2011-01-14 00:29:27
【问题描述】:
我想开发一个服务器,它将侦听某些特定端口以接收来自设备的请求。在处理请求时,请遵循以下步骤。
- 从套接字流中读取数据(从设备发送)
- 将字节数据解析为业务对象
- 通过 ado.net 层使用数据库使用业务对象处理请求
- 以二进制形式向设备发送响应
上述所有步骤都需要不到一秒钟的时间来处理。
目前我正在使用线程池使服务器多线程。
我的目标是制作一个每秒可以处理最大请求数的服务器。
我应该用什么方法来开发最高效的服务器,然后测试这个服务器 请求处理能力进行验证。
谢谢
【问题讨论】:
-
不是一个完整的答案,所以我把它作为评论,但你可能想查看“I/O Completion Ports”而不是显式使用线程池。请注意,这是一个更大的话题,但可能值得考虑,即花时间进入。例如,WCF 使用它们而不是简单的线程池来实现更高的并发性,而无需在池中产生/拥有大量线程。
标签: .net multithreading .net-3.5 sockets