c# - Socket.BeginSend 1 分钟后显示发送错误
问题描述
我将 Socket 类(异步)用于客户端应用程序。
我的服务器是硬件,但我使用 hercules(一个 tcp/udp 服务器/客户端提供软件)进行测试。
当我使用 hercules(或类似应用程序)关闭服务器端口时,我的客户端应用程序会迅速注意,但是当我移除网络电缆时,会在 1 或 2 分钟后发生断开(客户端)功能。
public static void Send(Socket client, String data)
{
try
{
byte[] byteData = Encoding.ASCII.GetBytes(data);
client.BeginSend(byteData, 0, byteData.Length, SocketFlags.None,
new AsyncCallback(SendCallback), client);
}
catch (Exception)
{
Disconnect(client);
}
}
解决方案
推荐阅读
- reactjs - React useEffect 跟踪依赖数组最佳实践中可用的所有值
- vue.js - pouchdb live 对于实时聊天来说有点太快了
- python - 在 Flask-Restful 中使用蓝图有什么好处?
- c# - 我们如何在 c# 中通过条目 ID 将行转换为列
- mysql - MYSQL 使用索引不起作用但强制索引有效?
- cadence-workflow - Cadence 或 Temporal 中的自定义工作流程
- c# - 如何在 ASP.NET 的选择框中将我的模型字段设置为选定的值?
- kubernetes - 使用 Ansible 在 Pod 达到一定年龄时删除 DeploymentConfig
- c++ - 如何将带有参数包的模板类作为参数传递给其他模板类?
- css - 如何将绝对定位的文本对齐到行中?