Привет, Я ищу руководство для создания приложения чата с помощью сокета, что позволяет клиентам создавать комнаты для других клиентов, чтобы присоединиться и пообщаться. У меня есть приложение чата, которое работает, и клиенты могут присоединиться, однако клиенты находятся в одной комнате и не могут передвигаться в другие комнаты. Я создал аналогичное приложение с несколькими комнатами, используя rmi, пользователь может добавлять комнаты для других клиентов, чтобы присоединиться и пообщаться. На этот раз я хочу практиковать использование сокета. Любая помощь или руководство, чтобы начать меня, было бы замечательно.Java socket Приложение чата
ответ
Насколько я могу работать, вы хотите
- подключается через простой IO Sockets и, возможно, блокируя NIO с одним читателем резьбой на гнездо.
- Я предлагаю вам иметь класс обработчика, который обертывает каждый сокет.
- использовать текстовый протокол.
- Вам нужна команда, чтобы добавить в комнату, удалить из комнаты, получить список текущих номеров и отправить сообщение.
- позволяет одному клиенту подписаться/слушать/появляется в нескольких комнатах одновременно
- это означает, что вам нужен набор обработчиков в каждой комнате.
- Вы хотите обрабатывать медленных потребителей и разъединяться изящно.
1-й пункт: я не слишком уверен, что вы имеете в виду, извините, но это звучит правильно для меня. 2-й пункт: Я думал об этом, но не мог понять, как я мог это сделать. Что я сейчас буду пытаться играть с этим. 3-й пункт: да, это правильно. 4-я точка: это то, что я хочу сделать правильно :). 5th: Я понимаю, что значит. – user629283
Я не знаю, чего вы не знаете. ;) Задайте мне вопрос, если хотите. –
жаль, что я нажимаю ввод слишком рано – user629283
Для осуществления коммуникации layeryou следует взглянуть на netty или apache mina. Оба соответствуют вашим потребностям на стороне клиента и сервера. Я думаю, у них уже есть образец протокола чата.
Спасибо, я буду прочитан об этом, но я просто думал об использовании только сокетов и серверных сокетов. В любом случае, спасибо. – user629283
Оба фреймворка используют nio-сокеты и обеспечивают абстракцию низкоуровневого материала, поэтому можно сосредоточиться на протоколе. – Chriss
- 1. Приложение чата в java
- 2. Многопоточное приложение чата UDP в Java, дающее java.net.SocketException: Socket closed
- 3. Основное приложение чата с socket/node/express - ничего не распечатывается
- 4. Приложение чата в C#
- 5. Приложение простого текстового чата
- 6. Приложение чата
- 7. Приложение чата, использующее сокет, не работающий через Интернет в Java
- 8. Приложение чата с картами
- 9. Безопасное приложение чата + GUI
- 10. Приложение для веб-чата в Java-апплете
- 11. Приложение чата для клиентского сервера в java
- 12. Приложение для чата сокета UDP в java
- 13. Одно чат-приложение для чата в java
- 14. Java-приложение для 2-х часового чата не работает
- 15. Приложение для чата Java только набирает некоторые отправленные сообщения
- 16. Как масштабировать приложение чата?
- 17. Создание чата с сервером Socket Channel
- 18. Многопоточное приложение чата для клиентского сервера в java
- 19. Приложение чата для клиентского сервера Java: странные проблемы с общением
- 20. Приложение чата - Socket.IO/Angular/MongoDB - История чата и чата не отображается
- 21. Основное приложение сетевого чата в Perl
- 22. Java SSL Socket Programming
- 23. Приложение чата через php
- 24. Приложение чата в ASP.NET
- 25. Приложение для чата J2ME?
- 26. Android-приложение для чата
- 27. Приложение простого однорангового чата
- 28. Приложение чата с AMS.Web.RemoteScripting.dll
- 29. Приложение чата, использующее django
- 30. Приложение чата в Grails
Мы не запустим вас, это не цель этого сайта (поиск по этим вопросам и использование Google для этого). Но если у вас есть проблема, мы поможем ее решить. –
Извините. Я не прошу ввести коды. Думаю, мне нужно переписать то, что я имел в виду. Я создал приложение с несколькими чатами, которое принимает многократные клиенты, но я не хочу, чтобы сервер позволял клиентам создавать комнаты. Прямо сейчас все мое приложение чата сокета просто добавляет клиентов на сервер ArrayList и обновляет всех клиентов, когда приходит сообщение. Я думаю, что мой вопрос будет таким: как сервер не будет, если клиент хочет создать или присоединиться к комнате? – user629283
Определите и примените для этого собственный протокол. –