web-dev-qa-db-ja.com

基本的なJava Server?

基本的には、基本的なJava複数の人が接続できるサーバーであり、接続されたクライアントの1つ(既にObj-cでコード化されている)がデータを送信すると、接続されています。

私は本当のJava Newbieであり、これについては予見できる将来にJavaを必要とするつもりはないので、 Javaをゼロから適切に学習するのではなく、できるだけ早く。だから誰かがこれまたはおそらくチュートリアルのソースコードを持っているなら、大歓迎です。

ありがとう:)オジー

25
IApp

以下は、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();
    }
}

これよりもはるかに簡単になることはできません。

18
David Titarenco

Sunから直接利用できる簡単なチュートリアルがあります。

http://Java.Sun.com/developer/onlineTraining/Programming/BasicJava2/socket.html#server

上記の基本的な単一スレッドから始まり、必要に応じて複数のスレッドを使用するように拡張されます。

4
Adam MacLeod

JettyサーバーAPIを使用してみてください。 http://wiki.Eclipse.org/Jetty/Tutorial/Embedding_Jetty は良い出発点のようです...

1
Philippe

Javaでのマルチキャストを見ることから始めます。

http://Java.Sun.com/docs/books/tutorial/networking/datagrams/broadcasting.html

0
Keith Adler

Javaプログラムは基本的にクライアントとサーバー間の一種のチャットを実装しました。着信接続を聞くサーバーのポートを開くためにソケットを使用しました。スレッドが必要です有効な接続が入ると、それらを聞いてアクションを呼び出します。

0
JorgeO