我是SunRPC的新手。我想知道如果多个客户端同时向服务器发送请求,服务器会做什么。服务器是否会将请求排入队列并逐个回复。或者它会并行响应?因为我记得我在某处读到过它可以并行响应。
顺便说一句,我说的是一个简单的单线程服务器。
谢谢
发布于 2011-11-13 15:31:22
这真的取决于所讨论的服务器。可以编写服务器来同时使用这两种方式。至少典型的Sun RPC服务器NFSd通常是为了同时支持成百上千个客户机而编写的--一次向一个客户机提供文件的文件服务器是非常无用的。但是服务器得到了简化,因为NFS协议(大部分)是无状态的--每个请求都是独立的。(较新的NFS协议版本较少无状态,并且显著地使服务器和客户端变得复杂。)
如果服务器非常简单,您可以使用互联网超级服务器inetd(8)启动它,当连接到达可配置的端口时,它将运行可配置的服务器。在交换空间非常稀缺的时代,inetd(8)更加普遍,在每个客户端连接上执行新程序是有意义的。额外的好处是,每个服务器都独立于其他服务器--每个服务器都是在它自己的fork(2)ed进程中产生的--而且只使用共享数据将需要额外的编程工作。
https://stackoverflow.com/questions/8109934
复制相似问题