有关winsock错误监测的问题

jienao 2000-06-02 01:23:00
本人写了一个C-S通信用应用软件,用到WINSOCK,客户端登录服务器端,如果(客)正常退出的话,可以触发CLOSE事件使服务器端作出响应反应,但如果是(客)异常断开,比如说直接把客户端关机,就没有触发CLOSE事件,不知道除了定时发送侦听信息之外还有什么方法能监测到类似的异常情况?
...全文
96 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sintony 2000-06-04
  • 打赏
  • 举报
回复
Socket关闭会有消息
用WSAAsyncSelect(m_Client->m_Socket/*与Client的socket连接 */,m_Client->m_hWnd/*处理消息的句柄*/,WM_CLIENT_CLOSE,FD_CLOSE);
这样Client断开时会有消息WM_CLIENT_CLOSE发生
这是你的处理就和其它消息一样了
比如:
ON_MESSAGE(WM_CLIENT_CLOSE,OnClientClose)

LRESULT CChatServerView::OnClientClose(WPARAM wParam, LPARAM lParam)
{
return 0L;
}
subzero 2000-06-03
  • 打赏
  • 举报
回复
可以参考IRC的协议
SERVER发送”PING“
CLIENT回应“PONG”
若无回应就是掉了
什么是 System Repair Engineer? System Repair Engineer(SREng) 是一款全新的、强有力的、可扩充的用于调整和修复你系统的免费工具,在这个工具的帮助下,你可以察觉你的系统故障并能够很容易的修复他们。 本工具的前身是 RegFix 注册表关键值修复工具,由于 RegFix 注册表关键值修复工具的局限性和当前系统环境的复杂性,我重新设计了一个新的软件,即 System Repair Engineer (SREng) 。 System Repair Engineer 的开发目的是: 提供一个能够较快诊断出系统常见故障的工具。 能够修复大多数常见的故障。 能够生成一个扫描报告。 能够运行于多种操作系统平台下,支持多语言界面。 具备一定的自动检测修复能力。 便于扩充并且能够以最小的代价进行扩充。 在 System Repair Engineer (SREng) 1.0版本里面,开放了近 20 项和系统维护相关的功能。System Repair Engineer (SREng) 提供了以下一些功能: 注册表启动组配置功能:能够允许/禁止注册表启动项是否随机启动。对于一些隐蔽启动组能够检测是否被篡改,如果默认值被篡改则会提示用户。 常规启动组(使用启动文件夹启动的启动组)配置功能:能够允许/禁止文件夹启动项是否随机启动。 WIN.INI、SYSTEM.INI、AUTOEXEC.BAT、CONFIG.SYS 配置功能:删除、新增、编辑项目。 BOOT.INI配置功能:设置BOOT.INI默认启动项、设置延时时间,设置启动开关等。 Win32服务配置功能:提供服务信息的枚举、禁用服务和删除服务功能。能够隐藏由 Microsoft Corp 发行的服务。 常见文件关联默认值自动检查修复功能 Windows Shell 修复功能:修复常见的 Windows Shell 故障。 Internet Explorer 修复功能:修复常见的 Internet Explorer 故障。 浏览器加载项管理功能:包括BHO、工具栏、ActiveX、右键菜单项等。 HOSTS文件配置功能:编辑、删除、新增HOSTS条目信息, 智能扫描功能:智能扫描功能将扫描你的系统并给出一个详细的报告,在这个报告的帮助下,系统管理员能够发现一些你系统中存在的错误并告诉你如何使用 System Repair Engineer 或其他工具解决这些错误。 我的扩展功能:以规则库的形式允许用户之间交换各自的配置,软件发行者也能够通过提供额外的规则库来增强软件的功能而不需要重新下载可执行文件。规则库的体积非常小巧,便于通过网络传输。 内置的在线提示窗口:随时查看一些关键点的帮助信息。 多语言自动切换功能或手工指定界面语言功能:想看什么语言界面就看什么语言界面,随心所欲。 大部分操作不需要重启或注销就能够立即生效功能:改变以往要使设置生效需要注销重新登陆的局面。 本版本是 System Repair Engineer 2.0版本的第一个候选版本(RC1),相对于前一个正式版,有以下改进: 1、整合 Win2000/98 两套代码; 2、新增对Winsock Provider信息的监测; 3、强化文件关联的修复能力; 4、增加对 LNK、VBS、JS默认文件关联的修复能力; 5、强化对注册表启动项的查看能力; 6、强化 IE 加载项信息查看能力; 7、增加自动检查新版本功能; 8、调整权限控制系统,非管理员权限用户也能执行一些特定的操作; 9、启动项管理、IE加载项管理界面、Winsock Provider界面支持键盘操作(空格键、DELETE键)。 10、修正特殊情形下 GDI 资源泄露BUG; 11、修正特殊情况下的内存泄露BUG; 12、修正特殊情况下程序崩溃的BUG; 13、其他改进。
书名:《Visual C++/Turbo C串口通信编程实践》(电子工业出版社.龚建伟.熊光明)。 内容简介 本书从编程实践的角度详细介绍了Windows环境下和DOS环境下的串口通信的基本方法,并根据当前串口与网络结合发展的趋势,介绍了串口与网络TCP/IP、远程控制与监测相结合的一些解决方案和编程要点。由于编程步骤详尽,初学Visual C++/C(甚至是以前完全没有接触过Visual C++)的读者也能很快编写出Visual C++的串口通信程序。本书配光盘,书中实例源程序和相关资料可在对应章节的文件夹中找到。 本书是从事串口及网络通信的技术人员和学习者的极佳参考资料,也可以作为数据通信课程的辅助教材。 作者简介 龚建伟,工学博士,目前在北京理工大学从事科研究与教学工作。主要从事计算机控制技术、顺人和智慧能车辆技术、数据通信技术的研究。 目录 第1章 轻松体验串口通信编程与调试 1 1.1 使用串口调试助手来体验串口通信 1 1.2 体验Windows环境下的Visual C++串口通信编程 4 1.3 体验DOS环境下Turbo C串口通信编程 12 第2章 多线程串口编程工具CSerialPort类 16 2.1 CSerialPort类的功能及成员函数介绍 16 2.2 应用CSerialPort类编制基于对话框的应用程序 30 2.3 应用CSerialPort类编制基于单文档的应用程序 35 2.4 对CSerialPort类的改进 40 2.4.1 改进一:ASCII文本和二进制数据发送方式兼容 40 2.4.2 改进二:也许能解决内存泄漏 43 2.4.3 改进三:彻底关闭串口,释放串口资源 44 第3章 控件MSComm串口编程 46 3.1 MSComm控件介绍 46 3.1.1 VC中应用MSComm控件编程步骤 46 3.1.2 MSComm控件串行通信处理方式 47 3.1.3 MSComm 控件的属性说明 48 3.1.4 MSComm控件错误信息 55 3.2 使用MSComm控件的几个疑难问题 56 3.2.1 使用VARIANT 和SAFEARRAY 数据类型从串口读写数据 56 3.2.2 MSComm控件能离开对话框独立存在吗 59 3.2.3 如何发送接收ASCII值为0和大于128的字符 60 3.2.4 在同一程序中用MSComm控件控制多个串口的具体操作方法 62 3.2.5 解决使用控件编程时程序占用的内存会不断增大的问题 62 3.2.6 在MSComm控件串口编程时遇到的其他问题 63 3.3 在基于单文档(SDI)程序中应用MSComm控件 63 3.4 应用MSComm控件控制多个串口实例 69 3.5 串口与MODEM拨号应用简例 76 3.5.1 创建工程 76 3.5.2 代码分析 78 3.5.3 应用 85 第4章 Windows API串口编程 87 4.1 Windows API串口编程概述 87 4.2 API串口编程中用到的结构及相关概念说明 89 4.2.1 DCB(Device Control Block)结构 89 4.2.2 超时设置COMMTIMEOUTS结构 92 4.2.3 OVERLAPPED异步I/O重叠结构 94 4.2.4 通信错误与通信设备状态 95 4.2.5 串行通信事件 96 4.3 Windows API串行通信函数 97 4.4 Win32 API串口通信编程的一般流程和特殊实例 116 4.4.1 Win32 API串口通信编程的一般流程 116 4.4.2 用查询方式读串口 116 4.4.3 同步I/O读写数据 117 4.4.4 关于流控制的设置问题 118 4.5 CSerialPort类中的API函数编程应用剖析 119 4.6 Win32 API串口编程TTY(虚拟终端)实例 128 4.6.1 建立程序工程 128 4.6.2 建立串口设置对话框 129 4.6.3 编写CTermDoc类的相关代码 132 4.6.4 小结 141 4.6.5 在CTermView类中字添加符键入处理代码与串口接收处理代码 142 第5章 串口调试助手V2.2编程 147 5.1 建立SCOMM程序工程实现界面功能 147 5.2 串口的初始化及关闭 150 5.3 串口数据的发送与接收及十六进制数据的处理 151 5.3.1 十六进数据发送处理 152 5.3.2 手动发送处理 152 5.3.3 自动发送处理 153 5.3.4 接收处理及十六进制显示 154 5.4 其他辅助功能的实现 156 5.4.1 接收数据的文件保存

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧