`
samyou
  • 浏览: 106096 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java socket判断客户端是否断开连接

    博客分类:
  • java
阅读更多
ServerSocket serverSocket = new ServerSocket(9952);
Socket socket = serverSocket.accept();
int k=-1;
我发现接收数据时不能用
while(socket.isConnected()){
fileOutputStream.write(inputStream.read());
}
我在客户端即使断开连接,socket.isConnected()依然是true。
应该用
while((k=inputStream.read())!=-1){
fileOutputStream.write(k);
}
当客户端断开时,k=-1,那就是说inputStream.read()其实也是阻塞的,如果inputstream没有断开,它会阻塞直到有数据为止。
socket如果需要同时写入写出,则需要为input和output各开一个线程
分享到:
评论
1 楼 cuisuqiang 2012-11-09  
如果是主动切断会报错,不过如果是网线掉了,则不会报错!

相关推荐

    QT TCP服务端如何判断客户端已断开连接 - 北冥有鱼的博客 - CSDN博客1

    本文链接:https://blog.csdn.net/tt1995cc/article/details/70770042在用QT写服务端时想要知道客户端是否断开

    java socket客户端断线重连

    java socket client 断线重连的简单实现 有什么意见可以提哦

    JAVA socket收发数据,并支持断网自动连接

    实现socket客户端收发数据,并支持客户端断网或服务器重启后重连

    Socket服务器端断开后重新打开,客户端将自动完成链接

    Socket通信技术。利用到了Thread技术,完成了,服务器开启,一直监听客户端功能,两点是,当服务器端断开后重新打开后,客户端能自动链接到服务器端,由于网络原因最多延迟2分钟

    java socket长连接

    java socket长连接,支持一个服务器向多个客户端推送消息; 客户端和服务端互相监听,每一个一个客户端断开服务端都有监听。客户端和服务端都做了封装,调用简单。数据通信使用Gson,bean和json互转

    Android socket实现Tcp长连接,断开自动重连

    手写简化版tcp长链接的socket实现,主要功能有断开重连,以及收发读取解码解析,适用于需要用到长链接的原生开发。

    Java应用Socket通讯一对多

    Java应用Socket通讯一对多: ⑴、一对多; ⑵、通过list/map存储连接的socket对象,服务端向所有客户端群发消息,可以修改为服务端向指定客户端发送消息;...⑶、自动定时扫描客户端,移除断开的连接。

    基于java socket使用tcp udp进行简易控制台命令与文件传输

    2) 基于Java Socket TCP和UDP实现一个简易的网络文件服务程序,包含服务器端FileServer和客户端FileClient; 3) 服务器端启动时需传递root目录参数,并校验该目录是否有效; 4) 服务器启动后,开启TCP:2021端口,...

    基于Socket的多客户端网络聊天系统的开发与设计

    服务器端应当建立一个ServerSocket,用于不断进行侦听客户端是否有连接请求或者断开连接。服务器端就是一个管理信息发送的控制中心;客户端要想进行信息的传递,首先必须先将信息发送至服务器端,然后服务器再根据...

    socket数据传输(自动任务检测服务端状态)

    socket协议数据传输,客户端发起请求每个五秒检测服务端是否在线。同时客户端读、写线程接收...如果对方服务器挂掉,客户端数据收取超时会自动断开连接,当服务端重新上线,客户端会重启连接,继续发送请求,接收数据;

    基于Java的Socket服务器,简单实现

    使用Java实现的ServerSocket服务器,可以通过IP端口号直连,连接后对每个客户端有超时判断,超时后主动断开客户端链接。

    java简易聊天程序

    此程序既是socket服务器又可以作为socket客户端。由于鄙人写的关闭服务和断开连接还存在一些问题和不足,请不要点击断开和关闭按钮。。 若想断开连接、关闭服务重连,请直接叉掉程序再启动即可(客户端和服务端均是...

    基于java实现Socket套接字一对一聊天系统源码+项目说明.zip

    【资源说明】 基于java实现Socket套接字一对一聊天系统源码+项目说明.zip 该项目是个人毕设项目源码,评审分达到95分,... // 给服务器发送相关消息,由服务器断开与指定客户端的连接 【备注】更多详情介绍见项目说明!

    基于Socket套接字消息推送系统

    本人是做Android开发的,所以demo重点介绍客户端的一些代码,包括Socket的TCP长连接及发消息,Service如何不被轻易杀死,通过aidl实现界面实时与Service的通信,可以在界面上控制Socket的连接与断开以及发消息,并...

    Socket TCP通信.zip

    C++多线程Socket TCP通信源码附带说明文档,编译环境为VS2013,可以实现服务器端和客户端的任意收发,同时能够完成四次挥手的过程,双发均可以主动断开连接。

    Java swing聊天室源码

    a)使用ServerSocket、Socket完成服务端和客户端的连接。 b)服务端使用多线程的方式可以接受多个客户端。 c)使用对象的方式,在服务端和客户端之间传送数据。 3、技术技巧提问 a)服务端如何删除和警告JList中存在的...

    用scoket发送基于tcp协议的自定义数据包(实现了多线程,支持多个客户端同时访问)

    解压后先打开一个命令窗口,在命令行中切换到文件所在路劲路径,然后输入java Server,再打开另一个命令窗口输入java Client (连接后输入go或go2分别发送不同的数据包,客户端输入bye断开连接)

    Socket编程实验报告.docx

    此后即于客户端进行通信,直到客户端断开连接即关闭各个流结束通信。 代码如下: import java.net.*; import java.io.*; class aa { static public void main (String args[]) throws IOException { ServerSocket ...

    Java聊天室源码 导入工程可直接运行

    Java聊天室小程序,实现连接数据库,实现验证登陆,实现注册;如若不想用数据库,可先启动先启动服务端,再启动客户端,聊天记录保存在工程文件下;客户端实现连接-断开-再连接;实现群聊单聊功能。

    java 写的 qq软件 客户端 服务端

    logoffButton.setToolTipText("与服务器断开连接"); userButton.setToolTipText("设置用户信息"); connectButton.setToolTipText("设置所要连接到的服务器信息"); //将按钮添加到工具栏 toolBar.add(user...

Global site tag (gtag.js) - Google Analytics