# Selector gibt nichts zurück



## Thalion (13. Mai 2015)

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


```
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


----------



## Thalion (14. Mai 2015)

So,

nach ca. 4,5h dämlich auf den Code gegucke habe ich endlich den Fehler gefunden.
Der ByteBuffer im Testclient muss vor dem Senden geflipt werden. Heißt, dass die Remaining bytes nicht vorhanden waren, womit auch nichts übertragen wurde.

Mfg,
Thalion


----------

