AsynchronousSocketChannel
ByteBuffer buffer = ByteBuffer.allocate(1024);
channel.read(buffer, buffer, new CompletionHandler<Integer, ByteBuffer>() {
@Override
public void completed(Integer bytesRead, ByteBuffer buffer) {
if (bytesRead > 0) {
buffer.flip();
byte[] data = new byte[buffer.remaining()];
buffer.get(data);
System.out.println("Received: " + new String(data));
buffer.clear();
channel.read(buffer, buffer, this);
}
}
@Override
public void failed(Throwable exc, ByteBuffer buffer) {
exc.printStackTrace();
}
});
---
### AsynchronousSocketChannel
```java
ByteBuffer writeBuffer = ByteBuffer.wrap("Hello".getBytes());
channel.write(writeBuffer, null, new CompletionHandler<Integer, Void>() {
@Override
public void completed(Integer bytesWritten, Void attachment) {
System.out.println("Written: " + bytesWritten + " bytes");
}
@Override
public void failed(Throwable exc, Void attachment) {
exc.printStackTrace();
}
});