Java - Selector gibt nichts zurück

Dieses Thema im Forum "Technischer Support" wurde erstellt von Thalion, 13. Mai 2015.

  1. Thalion
    Offline

    Thalion

    Registriert seit:
    22. Juli 2014
    Beiträge:
    25
    Ort:
    Berlin
    Minecraft:
    Spartaner_v1
    Hallöchen,

    ich schreibe gerade an einem Netzwerkcode bzw. an dem Server.
    Mein Problem besteht darin, dass ich zwei Selector erstellt habe mit 2 SelectionKeys.
    Wenn ich jetzt aber einen Channel registrieren lassen, bekomme ich in keinem Falle etwas zurück,
    außer die Connection wurde bereits beendet ( Idk ). Ich wäre glücklich, wenn mir jemand den Fehler zeigen könnte.

    Java 8 : 1.8.0 45-b14

    Code (Text):
    1. package neogc.net.network.runtime;
    2. import java.io.IOException;
    3. import java.nio.channels.ClosedChannelException;
    4. import java.nio.channels.SelectionKey;
    5. import java.nio.channels.Selector;
    6. import java.nio.channels.SocketChannel;
    7. import java.util.Set;
    8.  
    9. public class Distributor {
    10.  
    11.     private final Selector rs, ws;
    12.  
    13.     public Distributor() throws IOException {
    14.         rs = Selector.open();
    15.         ws = Selector.open();
    16.     }
    17.  
    18.     public void addChannel(SocketChannel channel) throws ClosedChannelException {
    19.         channel.register(rs, SelectionKey.OP_READ);
    20.         channel.register(ws, SelectionKey.OP_WRITE);
    21.     }
    22.  
    23.     public Set<SelectionKey> nextReadChannels() throws IOException {
    24.         System.out.println(rs.select(3L));
    25.         return rs.selectedKeys();
    26.     }
    27.  
    28.     public Set<SelectionKey> nextWriteChannels() throws IOException {
    29.         ws.select(3L);
    30.         return ws.selectedKeys();
    31.     }
    32.  
    33. }

    Mfg,
    Thalion
     
    #1