Подтвердить что ты не робот

Как создать базовый Java-сервер?

По сути, мне нужен базовый Java-сервер, к которому можно подключить несколько человек, и когда один из подключенных клиентов (уже закодированный в Obj-c) отправляет данные на него, он отправляет его всем, кто подключен.

Я настоящий Java-новичок, и я не буду нуждаться в Java в обозримом будущем для чего-либо, кроме этого, поэтому я хочу, чтобы это было как можно скорее, а не изучало Java должным образом с нуля. Поэтому, если у кого-то есть исходный код для этого или, возможно, учебника, мы будем очень благодарны.

Спасибо:) Оззи

4b9b3361

Ответ 1

Вот простой сервер "Knock Knock", любезно предоставленный Sun:

import java.net.*;
import java.io.*;

public class KnockKnockServer {
    public static void main(String[] args) throws IOException {

        ServerSocket serverSocket = null;
        try {
            serverSocket = new ServerSocket(4444);
        } catch (IOException e) {
            System.err.println("Could not listen on port: 4444.");
            System.exit(1);
        }

        Socket clientSocket = null;
        try {
            clientSocket = serverSocket.accept();
        } catch (IOException e) {
            System.err.println("Accept failed.");
            System.exit(1);
        }

        PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
        BufferedReader in = new BufferedReader(
                new InputStreamReader(
                clientSocket.getInputStream()));
        String inputLine, outputLine;
        KnockKnockProtocol kkp = new KnockKnockProtocol();

        outputLine = kkp.processInput(null);
        out.println(outputLine);

        while ((inputLine = in.readLine()) != null) {
             outputLine = kkp.processInput(inputLine);
             out.println(outputLine);
             if (outputLine.equals("Bye."))
                break;
        }
        out.close();
        in.close();
        clientSocket.close();
        serverSocket.close();
    }
}

Вы не можете сделать намного проще, чем это.

Ответ 5

Я сделал программу Java, которая в основном осуществляла своего рода чат между клиентом и сервером. Используется сокет, чтобы открыть порт сервера, который будет слышать входящие соединения. У вас должен быть поток, слышащий их и вызывающие действия, когда когда-либо будет подключено действительное соединение.

Ответ 6

вам, вероятно, потребуется использовать класс serversocket.