Ответ 1
Вы хотите, чтобы сервер мог обрабатывать одновременные клиентские подключения, и каждый клиент подключался к серверу на другом экземпляре канала, вместо того, чтобы пытаться делать все на одном экземпляре канала, как ваш код в настоящее время. Когда клиент завершен, вы хотите освободить экземпляр канала, используемого при разговоре с этим клиентом, а не повторно использовать его.
Этот ответ дает схему псевдокода для одного из способов сделать это.
Также обратите внимание, что в режиме сообщений вам нужно читать из канала в цикле, пока свойство IsMessageComplete
не станет true
. Это единственный способ гарантировать, что вы получите каждое сообщение. Также имейте в виду, что "сообщение" в режиме сообщения означает поток байтов, написанный отправителем в одном вызове Write
для канала.
Клиентские потоки не могут смешиваться друг с другом: экземпляр канала имеет всего два конца, клиент THE и сервер.