at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:25)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:233)
at sun.nio.ch.IOUtil.read(IOUtil.java:206)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:236)
at server.PlmsProtocol.handleRead(PlmsProtocol.java:59)
at server.NetComm.StartService(NetComm.java:79)
at server.NetComm.run(NetComm.java:29)
最近使用java.nio包写了一个服务器通信程序,在windows xp 下运行正常。可是移到windows 2000下当客户端连接上来的时候,收到数据时就报出这个异常,请教各位大虾们,这个问题怎么解决?
处理接收数据的代码:
public void handleRead(SelectionKey key) throws IOException {
SocketChannel clntChan = (SocketChannel) key.channel();
ByteBuffer buf = (ByteBuffer) key.attachment();
//long bytesRead = clntChan.read(buf);
int bytesRead = 0;
try {
bytesRead = clntChan.read(buf);
nRecv = bytesRead;
if (bytesRead == -1) { // Did the other end close?
handleClosed(clntChan);
clntChan.close();
buf.clear();
return;
} else if (bytesRead > 0) {
// Indicate via key that reading/writing are both of interest now.
key.interestOps(SelectionKey.OP_READ | SelectionKey.OP_WRITE);
//key.interestOps(SelectionKey.OP_READ);
return ;
}
} catch (NotYetConnectedException e) {
e.printStackTrace();
handleClosed(clntChan);
return ;
} catch (ClosedChannelException e) {
e.printStackTrace();
handleClosed(clntChan);
return ;
} /*catch(AsynchronousCloseException e) {
}
catch(ClosedByInterruptException e) {
}*/ catch (IOException e) {
e.printStackTrace();
handleClosed(clntChan);
return ;
}
}
7 个解决方案
#1
应该是环境的问题吧。
read出现的问题么。去查查去。。
read出现的问题么。去查查去。。
#2
抓包吧,看看发了什么控制报文.
如果控制报文没错,那就是底层类库有问题了.
如果控制报文没错,那就是底层类库有问题了.
#3
bytesRead = clntChan.read(buf);
就是这一行,读的时候就报异常了
就是这一行,读的时候就报异常了
#4
看看 学习中···
#5
我出现的问题跟楼主一模一样,解决了没??
#6
忘记说了 我是客户端关闭以后出现的这个异常
#7
http://hi.baidu.com/bithigher/blog/item/7948656374fc14e5431694be.html
希望对楼主有帮助
希望对楼主有帮助
#1
应该是环境的问题吧。
read出现的问题么。去查查去。。
read出现的问题么。去查查去。。
#2
抓包吧,看看发了什么控制报文.
如果控制报文没错,那就是底层类库有问题了.
如果控制报文没错,那就是底层类库有问题了.
#3
bytesRead = clntChan.read(buf);
就是这一行,读的时候就报异常了
就是这一行,读的时候就报异常了
#4
看看 学习中···
#5
我出现的问题跟楼主一模一样,解决了没??
#6
忘记说了 我是客户端关闭以后出现的这个异常
#7
http://hi.baidu.com/bithigher/blog/item/7948656374fc14e5431694be.html
希望对楼主有帮助
希望对楼主有帮助