开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 5944|回复: 21
收起左侧

[易源码分享] 【新】异步I/O模型下的WebSocket Client

[复制链接]

结帖率:100% (4/4)
发表于 2021-7-7 15:57:02 | 显示全部楼层 |阅读模式   四川省宜宾市
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -

前言:

  • 最近写SOCC.js,封装到了WebSocket。
  • 论坛上大部分的WebSocket Client基本都是同步Recv。
  • 对于部分异步Recv,基本是调用封装的WebSocket Client(如HP-Socket)
  • 于是我自己(面向MSDN编程)利用WSAAsyncSelect封装了一个异步的WebSocket Client

备注:

正文:

  • 下面照抄MSDN对于WSAAsyncSelect的解释:
    • 1.The socket created by the accept function has the same properties as the listening socket used to accept it.(由listen socket 的accept返回的socket和listen的socket 具有同样的属性。意味着accept返回的socket不用再重新zc窗口消息。这给socket服务器提供了便利。)
    • 2.When one of the nominated network events occurs on the specified socket s, the application window hWndreceives message wMsg. The wParam parameter identifies the socket on which a network event has occurred. The low word of lParam specifies the network event that has occurred. The high word of lParam contains any error code. The error code be any error as defined in Winsock2.h.(wParam标识哪一个socket发生了事件,LOWWORD(lParam)表示当前发生的是哪个事件(是接收还是发送)  而HIWORD(lParam ) 标识错误代码)
    • 3.Although WSAAsyncSelect can be called with interest in multiple events, the application window will receive a single message for each network event。(虽然zc事件可以是同时多个事件,但是消息响应是一个一个来的。)
  • 关于WSAAsyncSelect的一些解释:
    • 参数“s”:A descriptor that identifies the socket for which event notification is required.(嵌套字标识符)
    • 参数“hWnd”:A handle that identifies the window that will receive a message when a network event occurs.(接受消息的窗口句柄)
    • 参数“wMsg”:A message to be received when a network event occurs.(事件发生时发给窗口的uMsg)
    • 参数“lEvent”:A bitmask that specifies a combination of network events in which the application is interested.(监听的事件标识)
  • 一些图片:
    • 异步:
    • 消息处理:

源码下载:


WebSocket Client.e (115.75 KB, 下载次数: 209)

点评

wlp
写得好,但是hwnd对象泄露了   香港特别行政区*  发表于 2022-5-22 22:26

评分

参与人数 8好评 +6 精币 +19 收起 理由
ghost12 + 1 支持开源~!感谢分享
被封禁言 + 1 新技能已get√
易语言资源网 + 1 + 3 支持开源~!感谢分享
芒果一号 + 1 + 2 支持开源~!感谢分享
已注销541904 + 1 + 2 新技能已get√
jy896009 + 1 + 5 想要个稳定的支持多线程同步异步的
maozaiba + 1 + 3 奉上小小红包希望笑纳
350246356 + 1 + 2 超级用户出品,现赞后看~~~

查看全部评分


本帖被以下淘专辑推荐:

结帖率:25% (1/4)
发表于 2024-7-19 09:18:34 | 显示全部楼层   重庆市重庆市
我读书少,不要骗我
回复 支持 反对

使用道具 举报

签到天数: 19 天

发表于 2024-5-12 22:29:16 | 显示全部楼层   四川省成都市
感谢分享
回复 支持 反对

使用道具 举报

结帖率:84% (36/43)
发表于 2023-11-9 03:37:08 | 显示全部楼层   福建省宁德市
新技能        新技能
回复 支持 反对

使用道具 举报

结帖率:84% (36/43)
发表于 2023-11-7 05:16:52 | 显示全部楼层   福建省宁德市
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)

签到天数: 2 天

发表于 2022-5-20 09:42:30 | 显示全部楼层   广东省茂名市
        新技能        新技能
回复 支持 反对

使用道具 举报

结帖率:81% (26/32)

签到天数: 2 天

发表于 2022-4-21 21:04:46 | 显示全部楼层   上海市上海市
我读书少,不要骗我
回复 支持 反对

使用道具 举报

发表于 2021-11-21 14:06:53 | 显示全部楼层   广东省潮州市
感谢,6666666666666666666666666666666666666666666666
回复 支持 反对

使用道具 举报

结帖率:90% (27/30)

签到天数: 2 天

发表于 2021-10-23 15:39:55 | 显示全部楼层   山东省济南市
正需要这个,多谢分享,支持个鸡腿
回复 支持 反对

使用道具 举报

签到天数: 7 天

发表于 2021-10-17 08:18:59 | 显示全部楼层   江苏省泰州市
新技能已get√  
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)

签到天数: 3 天

发表于 2021-7-26 14:43:12 | 显示全部楼层   河南省南阳市
新技能已get√
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表