Разослал через udp-broadcast адрес сервера, клиенты присоединились и отправили на сервер свои адреса, как правильно теперь приняв от клиента сообщение переслать его всем остальным клиентам?
Посмотрел, оказалась крутая штука, даже есть аналог NetMQ, который как раз мне подходит, но увы под mono android не заводится почему-то, не дает установить даже
akass: Ну сервер слушает порт. Когда клиент коннектится к этому порту, то на сервере создаётся сокет, связанный с клиентом. Этот сокет кладём в какой-нибудь контейнер (список, мап, массив). В этом контейнере будут все открытые сокеты, каждый из которых связан с клиентом. Нужно отправить всем сообщение? В цикле проходим по элементам контейнера и отправляем в каждый сокет сообщение.
akass: Нет. Главное что бы одновременно в разных потоках не менялись. Но могут быть проблемы при сохранении объекта в массиве, когда параллельно инициализируется другой сокет и тоже сохраняется, или когда вы отправляете всем клиентам сообщение, а на середине цикла в другом потоке в контейнер добавляется элемент (новый сокет). Нужно штудировать документацию по C#, там должны быть (я не пишу на C#, поэтому не подскажу) thread-safe контейнеры.