Ну, если вам не нужно специально использовать строгий HTTP, и вам нужно просто использовать Java SE (а не Java EE, которая исключает сервлеты, JSP, JMS и т. Д.), Тогда вам, вероятно, нужно исследовать ServerSocket
и Socket
классов.
Сервер
Ваш сервер должен будет прослушивать порт TCP (скажем, порт 8080) - обычно вы выбираете портчисло от 1025 до 65 535, однако, если вы пытаетесь использовать уже определенную службу с портом по умолчанию, используйте его. Обратите внимание, что в unix для прослушивания на любом порту ниже 1024 я считаю, что вам нужно быть пользователем root. Традиционно порт HTTP используется для HTTP.
Для прослушивания этогопорт, вам нужно что-то вроде этого в вашем коде:
ServerSocket srvSocket = new ServerSocket(8080);
Socket socket = srvSocket.accept();
Это в значительной степени самый основной код, который заставит ваше приложение ждать, пока что-то подключится к порту 8080. После подключения вы можете получить обаInputStream
и OutputStream
для подключенного клиента путем опроса возвращенного объекта socket
, позволяющего вам читать содержимое с клиента, и вставки этих запросов в очередь.Затем эта очередь может быть обработана другим потоком.
Клиент
Чтобы клиент мог подключиться к серверу, вам необходимо использовать что-то на основеследующий пример:
Socket connection = new Socket("server.domain.com", 8080);
OutputStream output = connection.getOutputStream();
Затем вы записываете свой запрос на сервер в OutputStream
(и читаете из InputStream
, возвращенного из getInputStream()
, если вы ожидали ответа)
Приведенный код довольно простой, но он должен дать вам общее представление о том, как действовать.Вы даже можете использовать этот метод, если хотите использовать настоящий HTTP, однако в этом случае лучше использовать предварительно подготовленную библиотеку (хотя вполне вероятно, что вам не понадобятся все функции, определенные в спецификации HTTP).сам).
В любом случае, я надеюсь, что это даст вам хорошую отправную точку для построения.