Хорошо, этот вопрос действительно открыт. Сначала есть несколько вопросов, на которые нужно ответить: хотите ли вы реализовать свой собственный сервер или использовать существующую технологию. Очевидно, что JMS-API станет отправной точкой в последнем случае. Существует множество поставщиков реализации, эталонная реализация в самой Glassfish, HornetQ как автономная, так и как часть JBoss - Instance, только для обозначения двух. Отправка сообщений с помощью JMS довольно проста при понимании некоторых базовых понятий, и они могут содержать как текстовые, так и двоичные данные. Другим способом использования существующего решения является внедрение WebService, к которому может подключиться ваш клиент, который будет JAX-RS для веб-сервисов на основе REST, например. Этот подход также более независим от платформы, поскольку на этом письме я не знаю библиотеки для клиентов Android, поддерживающих JMS, и большинство других языков программирования полностью поддерживают службы на основе REST. Если вы не хотите использовать какой-либо существующий протоколл, вы должны придерживаться собственной реализации сервера и клиента. Таким образом, это будет упомянутое сокет-программирование. Ну, эта задача не будет легкой: вы не будете, чтобы ваш сервер обрабатывал несколько клиентов одновременно, а не блокировал один запрос до тех пор, пока другой не будет завершен, предоставит некоторый механизм авторизации вашего клиента для доступа приложения к серверу , Вы будете иметь ресурсы, которые распределяются между вашими клиентами на сервере при одновременном обращении с несколькими клиентами, поэтому доступ к этим ресурсам должен быть синхронизирован, эти темы относятся к параллельному программированию и представляют собой тихую интересную область собственных информационных технологий. Другими интересными аспектами дизайна вашего приложения могут быть решения с использованием поддержки JNDI для привязки ресурсов или реализации CDI-контейнера, чтобы клиенты могли легко адаптировать ваш формат обмена сообщениями. Это весело, но не в течение одного дня. ;)
Добро пожаловать в StackOverflow http://stackoverflow.com/questions/how-to-ask – gtgaxiola
Я проголосовал за этот вопрос, и вот почему: на самом деле это очень четкий и осторожный вопрос. Он просил очень простую вещь: «Как отправить сообщение по сети». Могут быть многочисленные способы сделать это, но это нормально, если ответ одним способом удовлетворяет эту проблему. –
Сервер должен быть многопоточным, не обязательно должен быть, но может быть проще, и всегда должен слушать новые подключения. Когда он получает новое соединение, поместите его в новый поток, чтобы сделать свой бизнес, а затем прослушать другое соединение. Ищите учебники там, вы поймете это. Практикуясь и пробовав новые методы, вы найдете то, что работает, а что нет. Опция, указанная выше, является лишь одним из многих решений для вашего проекта. Удачи :) –