2014-04-25 1 views
0

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

ответ

0

Чтобы начать работу с ServerSocket и ClientSockets для нескольких клиентов, вы можете обратиться к приведенной ниже статье. Two Socket sharing a port

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

+0

спасибо за ответ, так вы имеете в виду, что когда-либо клиент имел бы сокет, каждый из которых подключался бы к ONE-сокету на сервере или сервер должен иметь сокет для каждого клиентского сокета. – user3252991

+0

У сервера будет 1 'ServerSocket'. Несколько клиентов (каждый из которых имеет собственный «Socket») будут подключаться к тому же «ServerSocket» на сервере. – AdityaKeyal

0

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