File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Sockets and Internet Protocols and the fly likes Serversocket not able to read data Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Sockets and Internet Protocols
Bookmark "Serversocket not able to read data " Watch "Serversocket not able to read data " New topic

Serversocket not able to read data

avishek bose

Joined: Oct 12, 2011
Posts: 15
Hi ,

I have one server socket that will read the data from multiple clients which are writing the data to the server in ascii format at a particular port, but currently i am not able to read the data on the port.
the server socket that can accept many client connection i.e whenever a connection is available it will accept it and reads the ascii data from the client in that port.
The issue is that I am able to accept all the incoming connection but not able to read the ascii data writtern to the port.

I have implemented the ServerSocketChannel and Selector where once the ServerSocketChannel is setup I am iterating over the selection keys
ServerSocketChannel configuration

selector =;
serverSocketChannel =;
serverSocketChannel.socket().bind( new InetSocketAddress(port));
serverSocketChannel.register(selector, SelectionKey.OP_ACCEPT);

Iterator<SelectionKey> keyIter = selector.selectedKeys().iterator();
while (keyIter.hasNext()) {

SelectionKey key =;
now check if key.isAcceptable() then accept connection , if key.isReadable() then read the data.

the reading logic is :
int bytesRead = -1;
SocketChannel clntChan = (SocketChannel);
ByteBuffer buf = (ByteBuffer)key.attachment();

if channel is connected then
bytesRead =;

here i am getting the bytesRead value as 0

while the clients are continously writing ascii strings to the port

I agree. Here's the link:
subject: Serversocket not able to read data
It's not a secret anymore!