2017-01-06 6 views
0

ObjectOutputStreamsとObjectInputStreamsを使用してJavaでサーバーを設定しています。ObjectOutputStreamの混乱、必要説明

public class Server { 

private ServerSocket socket; 

private List<ObjectOutputStream> streams; 

public Server() { 
    streams = new ArrayList<>(); 
    try { 
     socket = new ServerSocket(2000); 
     while(true) { 
      Socket sock = socket.accept(); 
      streams.add(new ObjectOutputStream(sock.getOutputStream())); 
     } 
    } catch (IOException e) { 

    } 
} 

したがって、サーバーは接続からの入力を受け取り、この入力をすべての接続に送信できる必要があります。

したがって、socket.accept()コードが実行されると、新しいObjectOutputStreamをストリームArrayListに追加します。

私は混乱しています。このObjectOutputStreamは、サーバーからクライアントに出力されるか、クライアントからサーバーに出力されるのですか?

+0

これは、サーバーがクライアントに書き込むために使用するストリームです。 – Berger

+0

サーバの観点から見ると*出力*なので、サーバからクライアントへの出力です。 –

+0

ストリームはソケットに書き込みます。ソケットは、サーバーに接続されているクライアントによって読み取られます。 – Zircon

答えて

0

ポートで接続をリッスンして受け入れるコードはサーバーです。

これはすべてサーバーの観点からのものです。

接続を開始すると、あなたはクライアントであり、すべてがクライアントの視点になります。

関連する問題