0 0

检查Socket连接5

场景:Server端保存client端的Socket连接,现在Server端需要检查Client是否主动断开了Socket连接(用close方法),或者是网络等问题导致连接异常.
问题:如何检测到client的Socket连接已经断开?

问题补充:
yx200404 写道
看你先怎么检测.是底层代码自动抛出异常还是自己去检测连接是否断开

如果轮询检测的话可以用 isConnected() 方法判断.

如果是自动检测.可以在客户端socket.setKeepAlive(true); 尝试.

现在是Client端断开连接,我要在Server端去检测,用isConnected()好像一直都是true的.这个我试过了,貌似是不可以的.
2012年3月21日 18:17

1个答案 按时间排序 按投票排序

0 0

看你先怎么检测.是底层代码自动抛出异常还是自己去检测连接是否断开

如果轮询检测的话可以用 isConnected() 方法判断.

如果是自动检测.可以在客户端socket.setKeepAlive(true); 尝试.

2012年3月21日 18:27

相关推荐

    Linux或Windows下判断socket连接状态

    在"socket_disconn_check_vs"这个文件中,可能包含的是一个示例代码,展示了在Linux和Windows下如何编写程序来检查Socket连接状态。通过阅读和理解这段代码,开发者可以更好地掌握上述提到的技巧,并将其应用于实际...

    java socket连接池 实现

    5. 监控和维护:连接池会定期检查闲置的Socket连接是否有效,无效的连接会被移除并重新创建。 在实际开发中,为了更好地管理和监控连接池,我们还可以记录每个连接的使用情况,比如连接的生命周期、使用频率等,以...

    C# Socket连接池

    Socket连接池是网络编程中一个重要的优化手段,它在C#中主要应用于提高网络通信的效率和稳定性。本文将深入探讨“C# Socket连接池”的实现原理、优势以及如何利用线程池技术来构建和优化它。同时,我们也会提及...

    易语言源码易语言socket连接超时源码例程.rar

    4. 在定时器的计时事件中,检查socket连接状态。如果已经连接成功,则关闭定时器,继续执行后续操作;如果还未连接且已到达超时时间,则关闭socket,显示错误信息,并可能尝试重新连接或结束操作。 通过分析这个...

    java socket连接池

    Java Socket连接池是一种优化网络通信性能的技术,它允许应用程序复用已经建立的Socket连接,从而减少因频繁创建和销毁Socket连接而产生的开销。在高并发的服务器环境中,Socket连接池能够有效地提升系统效率和响应...

    判断Socket是否断开的小代码

    在实际应用中,我们需要经常检查Socket连接状态,确保数据能够正常收发。下面将对给定的代码进行详细解析,并介绍如何判断Socket连接是否断开的相关知识点。 #### Socket简介 Socket是应用层与传输层之间的一个...

    Java实现Socket长连接和短连接

    Socket连接分为两种类型:长连接和短连接。这两种连接方式各有特点,适用于不同的应用场景。 **1. 短连接(Short Connection)** 短连接通常用于一次性、非持久性的通信,如HTTP协议就是典型的短连接。在短连接中...

    socket 客户端连接池实现

    它允许应用程序预先创建并维护一组可重用的Socket连接,从而避免了每次通信时建立新连接的开销。本文将深入探讨Socket客户端连接池的实现原理、优势以及如何在实际应用中进行配置和管理。 首先,我们要理解Socket的...

    wpf实现Socket通信

    两个wpf程序,一个是服务器,一个是客户端。两个进行通信。

    socket连接超时例程.rar

    Socket连接超时是网络编程中经常遇到的问题,特别是在服务器响应慢或者网络不稳定的情况下。本篇将详细讲解Socket连接超时的相关知识点,结合易语言提供的源码例程,帮助你深入理解并解决此类问题。 首先,Socket是...

    c#socket连接服务器

    服务端可以监控客户端的连接状态,例如通过 `Poll()` 方法和 `Select()` 函数检查Socket是否已关闭或者超时。此外,`Receive()` 和 `Send()` 调用也会抛出异常,如果客户端已断开连接: ```csharp bool ...

    [VB]一个Socket连接类,封装了Winsock API

    本篇文章将深入探讨VB中封装Winsock API的Socket连接类,帮助你理解其工作原理和应用。 Winsock,即Windows Socket,是微软为Windows操作系统提供的TCP/IP协议接口。它提供了一套标准的应用程序编程接口(API),...

    SocketTool网络工具

    SocketTool网络工具是一款专为IT专业人士设计的实用软件,它主要功能是进行Socket通信,帮助用户轻松地获取网络信息并检查Socket连接状态。Socket在计算机网络编程中扮演着至关重要的角色,它是进程间通信(IPC)的...

    Android的socket长连接(心跳检测)

    - 在Android中,我们可以使用`java.net.Socket`类来创建和管理Socket连接。 2. **Android中创建Socket连接** - 创建Socket实例:`Socket socket = new Socket("服务器IP", 服务器端口);` - 数据传输:通过`...

    BIO Socket连接池

    在处理大量并发连接时,为了提高性能和资源利用率,通常会引入连接池的概念,这就是"BIO Socket连接池"的核心所在。 BIO( Blocking Input/Output,阻塞I/O)是Java原生I/O模型的一种,它在处理高并发场景时效率较...

    DELPHI Socket 发送接收自定义类

    在实际应用中,应添加适当的错误处理代码,如检查Socket连接状态,处理接收或发送失败的情况等。 6. **性能优化** 对于大量数据传输,可能需要考虑使用更高效的序列化方式,例如JSON或XML,或者自定义二进制格式,...

    http 连接 使用socket

    最后,完成HTTP交互后,别忘了关闭Socket连接,释放系统资源: ```python s.close() ``` 总之,使用Socket进行HTTP连接提供了更底层的控制,可以实现自定义的HTTP客户端或服务器,并通过异步I/O模型提高性能。在...

    socket通信异常解决总结

    Socket 通信异常是指在网络通信过程中出现的各种错误和异常,包括网络连接断开、服务器端或客户端程序异常、网络链路异常等。这些异常会导致 Socket 连接断开,影响系统的稳定性和可靠性。下面是解决 Socket 通信...

    UrlConnection连接和Socket连接的区别

    在错误处理上,`UrlConnection`提供了更为友好的API,它会自动处理HTTP状态码和异常,而`Socket`则需要开发者自己检查网络状况和处理异常。 在多线程支持上,`UrlConnection`的默认实现不是线程安全的,每个连接...

    android客户端加服务端的socket长连接

    4. 长连接需要保持Socket连接状态,通常会设置心跳机制,定期发送心跳包以检查连接是否正常。 三、客户端对服务器发送消息 1. 客户端通过Socket的OutputStream将要发送的消息编码成字节流,然后写入到输出流。 2. ...

Global site tag (gtag.js) - Google Analytics