Я внедряю сервер сокетов TCP в C и Linux.Это будет чат-сервер, обрабатывающий много запросов одновременно.Вот псевдокод для его настройки
create a socket
bind to a well-known port
use listen to place in passive mode
while (1)
{
accept a client connection
fork
if (child)
{
communicate with new socket
close new socket
exit
}
else
{close new socket}
}
Из того, что я видел, часть «связь с новым сокетом» состоит из чтения буфера и последующей записи в буфер, затем сокета.закрывается.Я думал, что сокеты должны быть постоянным соединением?Если клиенту приходится переподключаться каждый раз, когда он хочет отправить больше данных на сервер, не является ли это неэффективным и наносящим ущерб назначению сокетов?