Как сделать сокет сервер для нескольких клиентов

Я видел много обучающих программ в клиентских / серверных чатах с использованием сокетов, я пытаюсь создать мессенджер, который позволит пользователям (хранящимся в базе данных sql) общаться с их контактами и группами (также хранящимися в базе данных sql). теперь я действительно озадачен, с чего начать. Как бы я пошел о создании сервера, который может обрабатывать одноранговый чат и групповой чат. Я использую базу данных MySQL, которая будет хранить пользовательские данные и список контактов.

2 ответа

Вам нужно будет создать многопоточный сервер сокетов, он будет принимать входящие соединения в цикле, а затем передавать все операции между этим экземпляром сокета и клиентом в отдельный поток. Это позволит вам запускать несколько клиентских подключений одновременно. На этой странице подробно рассказывается о создании как однопоточных, так и многопоточных серверов чата.

Чтобы начать работу с ServerSocket и ClientSockets для нескольких клиентов, вы можете обратиться к приведенному ниже сообщению. Два сокета, разделяющих порт

В идеале каждый клиент должен иметь только одно сокетное соединение с сервером. Чтобы различать ваши чаты, вы можете просто использовать уникальный идентификатор, который поможет различать разные типы чатов.

Другие вопросы по тегам