Как подключить несколько клиентов на сервере
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]: Я нашел этот ответ в основном на тот же вопрос, который упоминает другие альтернативы инструмента.