Я в настоящее время работаю над проектом, и я реализовал простое приложение чата с помощью netcat
библиотеки.
Клиенту предлагают ввести номер порта и команду
nc -l -p xxxx
где xxxx
номер порта, вводимый клиентом.
Точно так же хост запрашивается тот же номер порта, и соединение устанавливается с помощью
nc <ip_address> -p xxxx
Однако это дает пустой опыт чата, поскольку он не показывает имя пользователя человека, вводящего сообщения, что-то как
hey
hello
what's up
Nothing
Вместо этого я хочу, чтобы это было чем-то как,
Foo : hey
Boo : hello
Foo : what's up
Boo : Nothing
Я могу использовать netcat
достигнуть этой функциональности или - там что-либо еще, что делает это?
Можно сделать что-то вроде этого.
Предположите, что Alice является сервером. Она вводит:
mawk -W interactive '$0="Alice: "$0' | nc -l -p <port_number> <ip_of_alice>
Затем Bob соединяется с тем сервером. Он вводит:
mawk -W interactive '$0="Bob: "$0' | nc <ip_of_alice> <port_number>
mawk
строки просто добавляют преднезаконченное имя человека к "чату". Нам нужно -W interactive
установить освободило буфер, записи к stdout и строке буферизовали чтения от stdin.
Теперь типы Alice Hi Bob
и видит:
Hi Bob
Bob видит:
Alice: Hi Bob
Типы Bob Hi Alice
и видит:
Alice: Hi Bob
Hi Alice
Alice видит:
Hi Bob
Bob: Hi Alice
Немного назад я действительно сделал одну программу, которая позволяет общаться в чате (через IP-адрес) в локальной сети. Должны быть ошибки. У меня действительно не было времени на ее обслуживание, но она должна вам кое-что дать. начать.
https://github.com/Aeres-u99/ncChat
PS: Я также пробовал добавить поддержку совместного использования файлов: P