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