Как подключить несколько клиентов на сервере

nc -l -vv -p 7795

Это команда для прослушивания порта. Но я могу подключить только один клиент с помощью (nc localhost 7795) к порту, скажите мне, как подключить несколько клиентов к порту 7795

1 ответ

nc Утилита не может обрабатывать несколько соединений одновременно. Однако он может обрабатывать их последовательно.

Вы могли бы использовать -k опция, чтобы соединения, которые "ожидают в очереди" от последующих клиентов, обрабатывались после того, как первый клиент отключился. Например:

# terminal A: 'server'
$ nc -l -vv -p 8000 -k
Listening on [0.0.0.0] (family 0, port 8000)
Connection from localhost 45080 received!
hi
bye
Connection from localhost 45082 received!
hi
bye

#terminal B: 'client 1'
nc localhost 8000
hi
bye
^C

Хотя терминал C пытается установить соединение до того, как терминал B отключается, "сервер" на терминале A автоматически поднимает его и обрабатывает позже.

# terminal C: 'client 2'
nc localhost 8000
hi
bye
^C

[РЕДАКТИРОВАТЬ-1]: Если вы пишете что-то и вам нужно несколько сценариев, вы можете рассмотреть возможность запуска нескольких экземпляров nc "серверы" прослушивают набор заранее определенных портов и затем решают, к каким из них подключиться, но это может стать более сложным.

[РЕДАКТИРОВАТЬ-2]: Я нашел этот ответ в основном на тот же вопрос, который упоминает другие альтернативы инструмента.

Другие вопросы по тегам