|
本帖最后由 黑猫よ__ 于 2018-3-22 14:23 编辑
一、epl_ws 简介
这是一个可以在"EPL"语言上使用的websocket库,它依据cpprestsdk进行创作编写而来; 得益于C++的PPL异步串行模式库的使用让epl_ws在逻辑层面上变得清晰且优雅。
二、websocket 简介
WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协yi。在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求,连接建立以后,客户Duan和服务器端就可以通过 TCP 连接直接交换数据。当你获取 Web Socket 连接后,你可以通过 send() 方法来向服务器发送数据,并通过 onmessage 事件来接收服务器返回的数据。
三、epl_ws 的简单示例
epl_ws的用法相当简单。
下面是连接到一个ws聊天服务器的例子
// websocket在线测试地址: http://www.blue-zero.com/WebSocket/
窗口程序集名 | 保 留 | 保 留 | 备 注 | 程序集1 | | | | 变量名 | 类 型 | 数组 | 备 注 | e | 整数型 | |
e = ws. linkstart (“ws://121.40.165.18:8088”, &onopen, &onmessage, &onclose, &onerror )如果真 (e ≠ 0 )标准输出 (, “连接至服务器中...”, #换行符 )标准输入 ()返回 (0 ) 标准输出 (, “[open]: 连接服务器成功!”, #换行符 )变量名 | 类 型 | 静态 | 数组 | 备 注 | hand | WebSocket | | |
hand = ws. reinterpret_cast (evt ) 标准输出 (, “[receive]: 接收到数据长度:”, hand. byteLength ()) 如果真 (hand. cursor () = hand. TEXT ()) 标准输出 (, “[receive]: ”, hand. copyTextBuffer ()) 标准输出 (, “[close]: 连接断开!”, #换行符 )
// 在demo.e代码中拥有详细的使用示范,需要参考时,可以打开看看它。
四、如何获取epl_ws
epl_ws已更新至github仓库中地址: https://github.com/kirino17/epl_ws ,克隆到本地即可使用。
文件信息:
#源代码
epl_ws/
#cpprestsdk库,打包时需要带上它
Projects/cpprest140_2_9.dll
#参考代码示例
Projects/demo.e
#epl_ws库,打包时需要带上它
Projects/epl.ws.dll
#epl_ws库声明的接口代码
Projects/WebSocket Library for EPL.e
#epl_ws库声明的接口模块
Projects/WebSocket Library for EPL.ec
|
评分
-
参与人数 5 | 好评 +4 |
精币 +211 |
收起
理由
|
Cand
| + 1 |
+ 200 |
感谢分享,很给力!~ |
Patek
| + 1 |
+ 5 |
支持开源~!感谢分享 |
国王软件
| |
+ 2 |
支持开源~!感谢分享 |
vul
| + 1 |
+ 2 |
支持开源~!感谢分享 |
钱多多28
| + 1 |
+ 2 |
黑猫兄又出精品!赞一个! |
查看全部评分
|