-1

私はJavaで自分のサーバーをやっています。1 つのソケット接続を行い、クライアントから多くのオブジェクトを受け取る必要があります。私はそれを実行しましたが、これが最善の (最速の) 解決策であるかどうかはわかりません。これが私のコードの例です:

try {
    serverSocket=new ServerSocket(18234, 1000);
} catch (IOException e) {
    System.out.print("Server failed..");
    e.printStackTrace();
}

Object x;
ObjectInputStream ois;
System.out.println("Waiting for connection...");
Socket connection= serverSocket.accept();
System.out.println("Connection received from " + connection.getInetAddress().getHostName());

while(true){
    ois = new ObjectInputStream(connection.getInputStream());
    x=ois.readObject();
    System.out.println(x.getString());
    if(x.getString().equals("END")) break;
}

問題は、新しいオブジェクトを受信しようとすると、常に新しい ObjectInputStream を実行する必要があることです。この解決策は正しいですか? 私は非常に高速なサーバーを実行する必要があり、常に新しい ObjectInputStream を実行するのはコストがかかりすぎると考えています。

4

1 に答える 1

0

ソケットの存続期間中、両端で同じ ObjectOutputStream と ObjectInputStream を使用します。オブジェクトごとに新しいものを使用する義務があるというあなたの声明は正しくありません。

于 2012-06-03T22:43:57.393 に答える