Olej писал(а): ↑17 дек 2023, 02:22
1-вариант эхо-сервера
Olej писал(а): ↑17 дек 2023, 02:32
Теперь клиент:
Это всё draft-версии, что-то будет меняться ... 1-я проба пера.
Но всё это уже пригодно для тестирования:
Это сервер:
Код: Выделить всё
olej@R420:~/2023/own.BOOKs/NET.2/Nexamples.WORK/Go$ ./echo-serv
waiting on port 51500
waiting on port 51500
waiting on port 51500
waiting on port 51500
waiting on port 51500
^C
При каждом подключении клиента он пишет сообщение. Больше ему ни о чём болтать не надо!
А это вот разные подключения клиента:
Код: Выделить всё
olej@R420:~/2023/own.BOOKs/NET.2/Nexamples.WORK/Go$ ./echo-cli 51501
connect to port 51500
> qwqrtr
qwqrtr
> фыпварф
фыпварф
> ^C
Код: Выделить всё
olej@R420:~/2023/own.BOOKs/NET.2/Nexamples.WORK/Go$ ./echo-cli 51501
connect to port 51500
> dd
dd
>
Код: Выделить всё
olej@R420:~/2023/own.BOOKs/NET.2/Nexamples.WORK/Go$ ./echo-cli 51501
connect to port 51500
> 123
123
> 456
456
>
Разные они в том смысле, что завершаться (выходить из цикла запросов) они могут по-разному:
- 1-й - по ^C
- 2-й - по ^D - EOF
- 3-й - по пустой строке, Enter
P.S. В этом и состоит необходимость обработки ошибок, чтобы сервер при полузакрытии сокета не впадал в панику.
А вот ошибочные (пока) запуски:
Код: Выделить всё
olej@R420:~/2023/own.BOOKs/NET.2/Nexamples.WORK/Go$ ./echo-cli 23
connect to port 23
no server available
Код: Выделить всё
olej@R420:~/2023/own.BOOKs/NET.2/Nexamples.WORK/Go$ ./echo-cli 5102
connect to port 5102
no server available
А это при правильном порте, но не запущенном вообще сервере:
Код: Выделить всё
olej@R420:~/2023/own.BOOKs/NET.2/Nexamples.WORK/Go$ ./echo-cli
connect to port 51500
no server available
Похоже, что нигде никто пока не слетает аварийно.