Создание простого чат - сервера с использованием Netcat
На этом этапе вы узнаете, как создать более надежный чат - сервер с использованием netcat с дополнительными параметрами. Этот пример продемонстрирует, как netcat можно использовать для более устойчивых соединений.
Сначала разберемся с некоторыми дополнительными параметрами netcat, которые будут полезны:
-k
: Этот параметр позволяет серверу продолжать прослушивание после отключения клиента, что позволяет принимать множество соединений со временем.
-v
: Этот параметр включает подробный вывод, предоставляя больше информации о соединении.
Создадим чат - сервер, который будет продолжать работать даже после отключения клиента. В первом терминале выполните следующую команду:
cd ~/project
nc -l -k -v 7777
Вы должны увидеть вывод, указывающий, что netcat находится в режиме прослушивания:
Listening on 0.0.0.0 7777
Этот сервер будет продолжать работать и принимать новые соединения даже после отключения клиента.
Теперь, во втором терминале, подключитесь к этому серверу:
cd ~/project
nc localhost 7777
В первом терминале вы должны увидеть сообщение о новом соединении, похожее на следующее:
Connection from 127.0.0.1 port 7777 [tcp/*] accepted
Теперь вы можете обмениваться сообщениями между терминалами, как и раньше. Введите сообщение в одном терминале и нажмите Enter, чтобы отправить его в другой терминал.
Для проверки устойчивости сервера отключите клиента, нажав Ctrl+C
во втором терминале. Затем подключитесь снова, используя ту же команду:
nc localhost 7777
Вы должны снова успешно подключиться и продолжить чат, что демонстрирует, что сервер остается активным между подключениями клиентов.
Для сохранения журнала чат - разговора вы можете изменить команду сервера, чтобы сохранить все входящие сообщения в файл. Нажмите Ctrl+C
, чтобы остановить текущий сервер, а затем запустите новый с перенаправлением вывода:
cd ~/project
nc -l -k -v 7777 | tee chat_log.txt
Эта команда использует утилиту tee
для отображения входящих сообщений на экране и сохранения их в файле chat_log.txt
.
Подключитесь снова из второго терминала и отправьте несколько сообщений. После обмена несколькими сообщениями отключите клиента (нажмите Ctrl+C
во втором терминале) и проверьте файл журнала чата:
cat ~/project/chat_log.txt
Вы должны увидеть сообщения, отправленные из терминала клиента.
Чтобы остановить сервер, нажмите Ctrl+C
в первом терминале.
На этом этапе показано, как создать более надежный чат - сервер с использованием netcat и как вести журнал общения, что может быть полезно для записи или отладки.