WINSOCK控件的 CLOSE 事件 和 CONNECT 事件 是在什么情况下发生

DJDJD2016 2016-02-21 02:42:36
有两个问题
1、WINSOCK控件的 CLOSE 事件 和 CONNECT 事件 是在什么情况下发生
2、WINSOCK控件 的 CLOSE 事件 是指对方 的 WINSOCK控件执行了CLOSE 事件后 发生的吗 , 当 与 本地 WINSOCK 建立 连接的 WINSOCK 控件 执行了 CLOSE 操作 后, 本地的 WINSOCK 控件 是自动 执行 自己的 CLOSE 操作,还是 需要 开发人员 手动编本地 WINSOCK 控件 的 CLOSE 操作。

谢谢大家。
...全文
1534 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_28139685 2017-12-04
  • 打赏
  • 举报
回复
心跳,可以维护连接长存
xlcsfa 2017-05-19
  • 打赏
  • 举报
回复
几位都是高手了,赵4,我是经常见你出没在各大论坛发表评论,也给我帮助很多。我想问问,用什么办法让服务器检测到客户端关闭连接后服务器能快速断开连接
赵4老师 2016-02-29
  • 打赏
  • 举报
回复
引用 12 楼 aspower_ 的回复:
[quote=引用 7 楼 SupermanKing 的回复:] [quote=引用 4 楼 zhao4zhong1 的回复:] WINSOCK控件 的 CLOSE 事件 是指对方 的 WINSOCK控件执行了CLOSE 事件 , 当 与 本地 WINSOCK 建立 连接的 WINSOCK 控件 执行了 CLOSE 操作 后, 本地的 WINSOCK 控件自动 执行自己的 CLOSE 操作,不 需要 开发人员 手动调用本地 WINSOCK 控件 的 CLOSE 操作。
错的,未必是对方关闭网络,意外短线或网络出错断线也会产生CLOSE 事件[/quote] 让赵四个猪头蒙对了一次 如果断线或者出错,winsock是不会有close事件的. 自己试下就知道了[/quote] 哎呀!被看穿了。
现在还是人类 2016-02-27
  • 打赏
  • 举报
回复
引用 11 楼 zhao4zhong1 的回复:
我故意拔掉网线,过一段时间再插回去,会不会触发Close事件? SupermanKing你能准确无误回答不要“误导初学者”吗?
呵呵,既然不能预料,就不要说死,我说的是:”你可以这么理解Close事件: 无论是主动或被动的情况下,当连接断开,就会触发Close事件的发生...“ 意思就是说,不管它的原理如何,当连接断开,就会触发Close事件,这样理解就可以了。 这种说法对于初学者来说并无不妥,更没把技术点说死。 说到技术,态度要严谨,别人为你指出你的的问题,你不但不感激,还强辩,甚至还想通过胡编乱造的方法用冷嘲热讽 的手段来对待指出你问题的的人,作为技术人员你这种心态我实在不敢恭维。
一笑拔剑 2016-02-24
  • 打赏
  • 举报
回复
引用 7 楼 SupermanKing 的回复:
[quote=引用 4 楼 zhao4zhong1 的回复:] WINSOCK控件 的 CLOSE 事件 是指对方 的 WINSOCK控件执行了CLOSE 事件 , 当 与 本地 WINSOCK 建立 连接的 WINSOCK 控件 执行了 CLOSE 操作 后, 本地的 WINSOCK 控件自动 执行自己的 CLOSE 操作,不 需要 开发人员 手动调用本地 WINSOCK 控件 的 CLOSE 操作。
错的,未必是对方关闭网络,意外短线或网络出错断线也会产生CLOSE 事件[/quote] 让赵四个猪头蒙对了一次 如果断线或者出错,winsock是不会有close事件的. 自己试下就知道了
赵4老师 2016-02-23
  • 打赏
  • 举报
回复
Close 方法(Winsock 控件) 对客户机和服务器应用程序关闭 TCP 连接或侦听套接字。 语法 object.Close object 所在处代表对象表达式,其值是“应用于”列表中的对象。 参数 None 返回值 Void
赵4老师 2016-02-23
  • 打赏
  • 举报
回复
WINSOCK控件 的 CLOSE 事件 是指对方 的 WINSOCK控件执行了CLOSE 事件 , 当 与 本地 WINSOCK 建立 连接的 WINSOCK 控件 执行了 CLOSE 操作 后, 本地的 WINSOCK 控件自动 执行自己的 CLOSE 操作,不 需要 开发人员 手动调用本地 WINSOCK 控件 的 CLOSE 操作。
赵4老师 2016-02-23
  • 打赏
  • 举报
回复
查MSDN是Windows程序员必须掌握的技能之一。
现在还是人类 2016-02-23
  • 打赏
  • 举报
回复
你可以这么理解Close事件: 无论是主动或被动的情况下,当连接断开,就会触发Close事件的发生。 而Close方法则是提供给你释放相关资源的接口。 如无效了的套接字、接收和发送缓冲区等等等等之类的资源。 所以,不论是在主动和被动的情况下,都需要在Close事件里调用Close方法释放资源。 但为了保证程序不多次重复释放资源,你只需要在Close事件中做个基本的连接状态判断就可以了,如: Sub Winsock1_Close() if Winsock1.State<>0 Then Winsock1.Close End Sub
DJDJD2016 2016-02-23
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
MSDN98_1.ISO http://pan.baidu.com/s/1dDF41ix, MSDN98_2.ISO http://pan.baidu.com/s/1bnGo0Vl Close 事件 当远程计算机关闭连接时出现。应用程序应正确使用 Close 方法关闭 TCP 连接。 语法 object_Close( ) object 所在处代表一个对象表达式,其值是“应用于”列表中的对象。 参数 None Connect 事件 (Winsock 控件) 当一个 Connect 操作完成时发生。 语法 object.Connect() object 所在处代表一个对象表达式,其值是一个 Winsock 控件。 说明 使用 Connect 事件确认已经成功建立了一个连接。
非常感谢,第二问,也请答复一下: 2、WINSOCK控件 的 CLOSE 事件 是指对方 的 WINSOCK控件执行了CLOSE 事件后 发生的吗 , 当 与 本地 WINSOCK 建立 连接的 WINSOCK 控件 执行了 CLOSE 操作 后, 本地的 WINSOCK 控件 是自动 执行 自己的 CLOSE 操作,还是 需要 开发人员 手动编本地 WINSOCK 控件 的 CLOSE 操作。
赵4老师 2016-02-23
  • 打赏
  • 举报
回复
我故意拔掉网线,过一段时间再插回去,会不会触发Close事件? SupermanKing你能准确无误回答不要“误导初学者”吗?
赵4老师 2016-02-23
  • 打赏
  • 举报
回复
短线和断线是一回事吗? 挖断光缆算不算“短线”,停电呢?地震呢?海啸呢?地球毁灭呢?宇宙重生呢? 鸡蛋里挑骨头谁不会啊!
现在还是人类 2016-02-23
  • 打赏
  • 举报
回复
引用 8 楼 zhao4zhong1 的回复:
我觉得你这是白马非马论。
是你的说法说得太死了,那就变成一个框会误导初学者的。
赵4老师 2016-02-23
  • 打赏
  • 举报
回复
引用 7 楼 SupermanKing 的回复:
[quote=引用 4 楼 zhao4zhong1 的回复:] WINSOCK控件 的 CLOSE 事件 是指对方 的 WINSOCK控件执行了CLOSE 事件 , 当 与 本地 WINSOCK 建立 连接的 WINSOCK 控件 执行了 CLOSE 操作 后, 本地的 WINSOCK 控件自动 执行自己的 CLOSE 操作,不 需要 开发人员 手动调用本地 WINSOCK 控件 的 CLOSE 操作。
错的,未必是对方关闭网络,意外短线或网络出错断线也会产生CLOSE 事件[/quote] 我觉得你这是白马非马论。
现在还是人类 2016-02-23
  • 打赏
  • 举报
回复
引用 4 楼 zhao4zhong1 的回复:
WINSOCK控件 的 CLOSE 事件 是指对方 的 WINSOCK控件执行了CLOSE 事件 , 当 与 本地 WINSOCK 建立 连接的 WINSOCK 控件 执行了 CLOSE 操作 后, 本地的 WINSOCK 控件自动 执行自己的 CLOSE 操作,不 需要 开发人员 手动调用本地 WINSOCK 控件 的 CLOSE 操作。
错的,未必是对方关闭网络,意外短线或网络出错断线也会产生CLOSE 事件
赵4老师 2016-02-22
  • 打赏
  • 举报
回复
MSDN98_1.ISO http://pan.baidu.com/s/1dDF41ix, MSDN98_2.ISO http://pan.baidu.com/s/1bnGo0Vl Close 事件 当远程计算机关闭连接时出现。应用程序应正确使用 Close 方法关闭 TCP 连接。 语法 object_Close( ) object 所在处代表一个对象表达式,其值是“应用于”列表中的对象。 参数 None Connect 事件 (Winsock 控件) 当一个 Connect 操作完成时发生。 语法 object.Connect() object 所在处代表一个对象表达式,其值是一个 Winsock 控件。 说明 使用 Connect 事件确认已经成功建立了一个连接。

1,451

社区成员

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

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