2016-04-02 26 views
0

Java NIO ile yazıyorum. değil benim modülü (AsynchronousServerSocketChannel birlikte) bir sunucu gibi bazı verileri almak bir biri gibi çalışmaya gidiyor ve sonra son satırını kullanarak bir istemcijava'da AsynchronousSocketChannel veya AsynchronousServerSocketChannel'i yönetme

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); 

olarak AsynchronousSocketChannel yarattığı başka bambaşka bağlantısına bu veri göndermek mantıksal, çünkü sunucu kesintiye uğradı ve AsynchronousSocketChannel çalıştıran. Sizce bu sorun için iyi bir çözüm olabilir?

cevap

0

Tamam, iki iş parçacığı tanımladım ve bunlardan birinde AsynchronousSocketChannel'i yazdım, diğerinde AsynchronousServerSocketChannel yazdım. Bu iki iş parçacığı arasında iletişim kurmak için bazı paylaşılan değişkenler kullanıyorum ve sorunu çözüyorum.