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
Mfg,
Thalion
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
Java:
package neogc.net.network.runtime;
import java.io.IOException;
import java.nio.channels.ClosedChannelException;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.SocketChannel;
import java.util.Set;
public class Distributor {
private final Selector rs, ws;
public Distributor() throws IOException {
rs = Selector.open();
ws = Selector.open();
}
public void addChannel(SocketChannel channel) throws ClosedChannelException {
channel.register(rs, SelectionKey.OP_READ);
channel.register(ws, SelectionKey.OP_WRITE);
}
public Set<SelectionKey> nextReadChannels() throws IOException {
System.out.println(rs.select(3L));
return rs.selectedKeys();
}
public Set<SelectionKey> nextWriteChannels() throws IOException {
ws.select(3L);
return ws.selectedKeys();
}
}
Mfg,
Thalion