问题描述:代码
SelectionKey key = (SelectionKey) iter.next();
iter.remove();
if (key.isConnectable()) {
SocketChannel channel = (SocketChannel) key.channel();
if (channel.isConnectionPending()){
channel.finishConnect();
log.info("与服务器端建立连接成功!!!");这段代码处于在循环里,
while(true)
{
try
{
aa();//代码函数
}
catch()
{
//产生异常,连接出错
}
}在windows xp系统下测试客户端:
刚开始客户端与服务器可以连接,这时候我停掉服务端将会在finishConnect();产生异常,然后重新执行代码函数。接着重新启动服务器,当再次执行到finishConnect()方法的时候会自动连接上!
现在切换到 ubuntu系统,进行同样的测试,先启动服务器(服务器运行在xp系统上),然后启动客户端,连接成功,接着停掉服务器,同样产生异常,提示错误信息,接着重新启动服务器,跟踪代码,执行到finishConnect()方法,还是报错,一直报错,怎么都连不上。
请教下高手,这是个什么情况?为什么就连接不上了么?谢谢!分不多了,见谅
SelectionKey key = (SelectionKey) iter.next();
iter.remove();
if (key.isConnectable()) {
SocketChannel channel = (SocketChannel) key.channel();
if (channel.isConnectionPending()){
channel.finishConnect();
log.info("与服务器端建立连接成功!!!");这段代码处于在循环里,
while(true)
{
try
{
aa();//代码函数
}
catch()
{
//产生异常,连接出错
}
}在windows xp系统下测试客户端:
刚开始客户端与服务器可以连接,这时候我停掉服务端将会在finishConnect();产生异常,然后重新执行代码函数。接着重新启动服务器,当再次执行到finishConnect()方法的时候会自动连接上!
现在切换到 ubuntu系统,进行同样的测试,先启动服务器(服务器运行在xp系统上),然后启动客户端,连接成功,接着停掉服务器,同样产生异常,提示错误信息,接着重新启动服务器,跟踪代码,执行到finishConnect()方法,还是报错,一直报错,怎么都连不上。
请教下高手,这是个什么情况?为什么就连接不上了么?谢谢!分不多了,见谅
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货