Я достигли отправки сервера сообщений -> сервера и фактически подключил многие клиенты одновременно. Но то, что я хочу сделать, это, например, подключить 2 клиента и заставить их общаться между собой. И если подключается третий клиент, то он начинает общаться с обоими другими клиентами.C# - потоковая передача клиента на многопоточном сервере
К настоящему времени я нахожусь на этапе чата client-> server-> client отдельно от другого c-> s-> c. Что происходит - я запускаю client1, и все в порядке. Затем я запускаю client2, и с ним все в порядке, но 1-й клиент перестает работать, а затем первое сообщение, которое я получаю на втором клиенте, является последним сообщением, которое я отправил с client1 (но на самом деле не получил его обратно от сервера). Итак, я полагаю, что есть проблемы с потоками - что 2 клиента каким-то образом приобретают потоки друг друга. Вот некоторые части сервера (соответствующие них): TheServer
HandleClientComm (объект клиента) обрабатывает операции Receive-отправителя.
А вот на стороне клиента часть кода, который обрабатывает полученные-отправить операции: TheClient
И я получаю An unhandled exception of type 'System.OutOfMemoryException' occurred...
в в сервере на Byte[] bData = new Byte[BitConverter.ToInt32(bSize, 0)];
ооочень ... да, есть что-то не так с потоками (по моему мнению). Но я действительно не знаю, как заставить сервер правильно различать потоки клиентов.
Я открыт для любых предложений.
P.S. Я не размещаю код прямо здесь, потому что он будет слишком длинным.
Спасибо, это сработало! :) Теперь осталось сделать чат между клиентами, и если у меня есть 4 клиента, то сделайте каждый клиент найти другую конечную точку, а не смешивать между более чем двумя клиентами. Но это я выясню (надеюсь ...). :) – Milkncookiez