2016-04-02 12 views
0

私はJava NIOを使用しています。されていない私のモジュールは(AsynchronousServerSocketChannel付き)サーバーとしていくつかのデータを取得する誰かのように動作するように起こっているし、それは最後の行を使用して、クライアントJavaでAsynchronousSocketChannelまたはAsynchronousServerSocketChannelを管理する方法

public void completed(AsynchronousSocketChannel result, Void attachment) { 
     asynchronousServerSocketChannel.accept(null, this); 
     try { 
      System.out.println("Incoming connection from: " + result.getRemoteAddress()); 
      //transmitting data 
      while (result.read(buffer).get() != -1) { 
        buffer.flip(); 
        result.write(buffer).get(); 
        ClientwithFuture anotherDiffrentSocketChannel = new ClientwithFuture(buffer); 

としてAsynchronousSocketChannelによって作成された別の完全に異なる接続にこのデータを送信しますこれは、サーバーが中断し、AsynchronousSocketChannelを実行するためです。だからあなたの意見では、この問題の良い解決策は何でしょうか?

答えて

0

OK、私は2つのスレッドを定義し、そのうちの1つにAsynchronousSocketChannelを書き込み、もう1つにはAsynchronousServerSocketChannelを書き込みます。この2つのスレッド間で通信するために、いくつかの共有変数を使用して問題を解決します。

関連する問題