2

我正在实现一个多线程 Web 服务。每个传入请求都会产生一个线程。对于每个客户端,都会创建一个会话,并且每个会话都包含一个数据部分——比如一个 DOM 树。客户端请求基本上是 get/set 方法,服务器将读取/写入 DOM。

所以 DOM 数据是每个客户端的。

现在我的问题是,服务器是否应该将此 DOM 树视为关键部分?

基本上问题是是否存在服务器有两个线程为同一个客户端服务的情况?

请求/响应是 SOAP over tcp。据我了解,即使客户端是多线程的,tcp 客户端也无法同时发送请求。所以在服务器端,我不会遇到两个线程用于同一个客户端的情况。如果我错了,请纠正我,我是 tcp/ip 客户端-服务器编程的新手。

谢谢。

4

3 回答 3

1

据我了解,即使客户端是多线程的,tcp 客户端也无法同时发送请求。

?? 那个是从哪里来的?

在当然是基于 TCP 的 HTTP 中,需要并发的客户端请求。RFC2616 说 HTTP 客户端(浏览器、REST 客户端等)应该限制对特定服务器的并发出站请求数为 2。但这不是协议的硬性要求,有时在某些情况下故意不遵循该指南架构。

我提出这个只是为了说明 TCP 本身支持客户端的多个并发出站请求。在一般情况下,一个 TCP 客户端可以打开许多并发的出站请求。

您使用的特定通信框架可能不支持客户端的多个并发出站请求。但那是另一回事。

于 2009-03-31T21:09:53.640 回答
0

您需要使用服务器的文档进行检查。高级服务器很可能允许您配置请求处理策略(例如,顺序、每个连接的线程、每个请求的线程、线程池等)。

如果客户端是多线程的,恐怕客户端可以同时发送请求。

于 2009-03-25T19:31:30.120 回答
0

您应该考虑到每个请求的线程对于更高的请求率不会很好地扩展,您将失去大部分时间进行线程切换

于 2009-03-17T19:28:41.340 回答