Я хочу спроектировать Socket Server с несколькими клиентами Socket, в которых, как только клиент будет подключен к серверу, сервер должен начать отправлять данные клиенту, а клиент должен получить данные, а когда клиент будет отключен, сервер должен прекратить отправлять данные этому клиенту. Может ли кто-нибудь предложить метод для выполнения вышеуказанной задачи в С#.
Честно говоря, это похоже на довольно стандартную работу сокета. Сокеты TCP - это просто пара потоков (по одному в каждом направлении). Любой конец может отправить данные другому в любое время. Сырые сокеты не являются запросом/ответом, хотя, очевидно, запрос/ответ можно записать поверх сокета. Но так могут быть специальные сообщения в любом направлении.
Итак, в основном: просто используйте сокет, и когда сервер хочет что-то отправить: отправьте его. Это все есть. Сломанные сокеты обнаруживаются, если вы пишете в сокет, поэтому сервер узнает об отключении либо через обычный механизм с закрытым сокетом, либо при получении сообщения об ошибке при отправке.
"Are you there"
->"I am still here"
отправляющих сообщения в любом / обоих направлениях, чтобы быстрее обнаружить разъединение (что не обязательно будет разъединением сокета).