Я изучаю программирование асинхронных сокетов с использованием классов сокетов .net.
- Итак, сначала я запускаю серверный сокет с
.listen()
.
- Затем я вызываю
.beginAccept()
с асинхронным обратным вызовом, который запускается всякий раз, когда клиент подключается. Проверьте.
- Когда я получаю новое клиентское соединение, мой обратный вызов запускается, я передаю соединение новому объекту сокета и начинаю получать данные, используя обратный вызов с
.BeginReceive
.
Допустим, я уже получил данные от этого клиента, но я хочу оставаться на связи для любых будущих данных, которые может отправлять этот клиент.
Может ли мой клиент и этот «сокет», который теперь был создан для связи с этим новым клиентом, продолжать говорить без моего повторного вызова .BeginAccept
?
Я знаю, что мне нужно позвонить .BeginAccept
, чтобы получить какие-либо новые клиенты, но может ли мой первоначальный клиент и его сокет сервера продолжать болтать взад-вперед, или мой клиент должен снова «повторно подключиться» к серверу через .BeginAccept
вызов для каждой обратной передачи данных на сервер?
Надеюсь, мой вопрос имеет смысл, я немного запутался в этом вопросе; -)
Спасибо