Java Socket Termination用于聊天服务

时间:2013-11-21 21:30:24

标签: java sockets chat serversocket

我正在学习Java套接字,因此我尝试编写两个单独的程序(服务器端和客户端),并使用swing创建一个简单的聊天程序。现在程序运行正常,我可以看到从客户端 - 服务器发送的文本,反之亦然。但是,问题是当我从服务器端终止连接时。

据我所知,这两个套接字并不一定相关,如果连接在服务器端终止,客户端不知道它,并继续在ObjectInput / OutputStreams中抛出IOExceptions。

我的问题是,有没有办法通知客户端服务器终止连接,还是应该接受必须首先从客户端终止连接的事实?

2 个答案:

答案 0 :(得分:0)

如果您正在阅读并且对等方关闭了连接:

  1. read()将返回-1
  2. readLine()将返回null
  3. readObject(),readInt()和所有其他readXXX()方法都将抛出EOFException。

答案 1 :(得分:0)

您可以在关闭连接之前发送一个特殊对象,让客户端知道服务器正在关闭连接。即使服务器在发送后立即关闭连接,仍应正确接收。

相关问题