Многопользовательские сокеты в Java? - PullRequest
3 голосов
/ 16 января 2011

Скоро я закончу с системой чата с одним клиентом в качестве развлекательного личного проекта, и мне стало интересно ... Легко ли преобразовать что-то подобное, чтобы иметь несколько клиентов, или потребуется большая перезапись?

И в любом случае, как бы вы это сделали? Пожалуйста, будьте описательными! : D Спасибо!

Кроме того, как вы передаете файлы через сокет?

Ответы [ 2 ]

2 голосов
/ 16 января 2011

Если вы планируете написание IM-системы, я бы посоветовал вам работать с протоколом более высокого уровня и API, такими как Jabber / XMPP . Вот пример передачи файла через сокет.

1 голос
/ 16 января 2011

Может быть просто конвертировать одного клиента в несколько клиентов. Это зависит от того, как вы написали свое заявление. Поскольку вы переписываете приложение, которое было написано много раз раньше, я предполагаю, что вы не боитесь переписывать код и делаете это как учебное упражнение.

Самое простое изменение состоит в том, что там, где вы принимаете () одного клиента сейчас, вы должны использовать цикл для приема многих клиентов. (и передать обработку этого клиента другому потоку).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...