SUN RPC: удовлетворяет ли сервер запросы один за другим? - PullRequest
0 голосов
/ 13 ноября 2011

Я новичок в SunRPC.Я хотел бы знать, что будет делать сервер, если несколько клиентов будут отправлять запросы на сервер одновременно.Будет ли сервер ставить в очередь запросы и отвечать по одному.Или он будет реагировать параллельно?Потому что я помню где-то читал, что он может отвечать параллельно.

Кстати, я говорю о простом однопоточном сервере.

Спасибо

1 Ответ

0 голосов
/ 13 ноября 2011

Это действительно зависит от рассматриваемого сервера.Можно писать серверы для работы в обеих модах.По крайней мере, стереотипный сервер Sun RPC, NFSd, обычно написан с целью поддержки сотен или тысяч клиентов одновременно - файловый сервер, который одновременно обслуживает файлы для одного клиента, довольно бесполезен.Но сервер упрощен, потому что протокол NFS (в основном) не имеет состояния - каждый запрос стоит сам по себе.(Более новые версии протокола NFS не требуют сохранения состояния и значительно усложняют работу как серверов, так и клиентов.)

Если сервер очень простой, вы, вероятно, можете запустить его с inetd(8), интернет-суперсервер, который будет запускать настраиваемые серверы, когда соединения поступают на настраиваемые порты.inetd(8) было гораздо более распространенным в те времена, когда даже пространство подкачки было слишком дорогим, и имело смысл запускать новые программы при каждом подключении клиента.Бонус в том, что каждый сервер независим от других серверов - каждый из них создается в своем собственном fork(2) редактируемом процессе - и только использование общих данных потребует дополнительных усилий программирования.

...