- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 C# TCP 服务器应用程序。当 TCP 客户端与服务器断开连接时,我检测到它们断开连接,但是如何检测电缆拔出事件?当我拔下以太网电缆时,我无法检测到断开连接。
最佳答案
您可能想要应用“ping”功能,如果 TCP 连接丢失,该功能将失败。使用此代码向 Socket 添加扩展方法:
using System.Net.Sockets;
namespace Server.Sockets {
public static class SocketExtensions {
public static bool IsConnected(this Socket socket) {
try {
return !(socket.Poll(1, SelectMode.SelectRead) && socket.Available == 0);
} catch(SocketException) {
return false;
}
}
}
}
如果没有可用的连接,方法将返回 false。即使您在 Reveice/Send 方法上没有 SocketExceptions,它也应该可以检查是否存在连接。请记住,如果您遇到与连接丢失相关的错误消息的异常,则您不再需要检查连接。
此方法适用于套接字看起来已连接但可能与您的情况不同的情况。
用法:
if (!socket.IsConnected()) {
/* socket is disconnected */
}
关于c# - 监听 TCP 服务器应用程序的以太网电缆拔出事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10298824/
如何使用Delphi检查麦克风是否插入/拔出? 最佳答案 function WaveInDevicePresent: boolean; begin result := waveInGetNumDe
DirectShow 是否有一种简单的方法来检测网络摄像头是否已插入 (USB),或者是否有人拔掉了它(然后轮询或搜索它)? 我看过 Microsoft Media Foundation 的代码,但它
我有一个与我的 linux 盒子配对的蓝牙 Remote ,当激活时,这个 Remote 在 /dev/input/event13 可见。 我有一个小的 C 程序,可以打开这个设备并直接从中读取,运行
我正在使用官方 Kinect SDK 1.5 示例之一,我正在尝试了解如何添加检查以检测 Kinect 何时断开连接。目前,该应用程序只会卡住,因此必须有一种方法来防止这种情况发生。 这是来自 SDK
我需要检测嵌入式系统上的 USB 串行设备何时插入或拔出,并知道 tty 是什么与之相关。 我的系统运行在 2.6 Linux 内核上。 因为我没有 udev 的写入权限规则,现在我试图从文件系统
我是安卓新手。如果插入或拔出充电器,我想更改 Activity 中 TextView 的文本。为此,我已经在 list 中注册了一个带有 Intent 的接收器 android.intent.acti
我正在开发一个在线乐谱阅读训练器,a prototype is available here .我能够实现对以前连接的 MIDI 键盘的访问,但是,我正在努力实现热插拔方案。 我最后一次拍摄是这样的:
我的最终目标是创建一个在启动时运行的脚本,该脚本在插入以太网电缆时关闭 wifi,反之亦然。这是我到目前为止创建的脚本: #!/bin/bash File=/sys/class/net/eth0/ca
我是一名优秀的程序员,十分优秀!