|
|
获取SOCKET | 整数型 | | |
url | 文本型 | | | | 代理 | 文本型 | | | | WSS | 逻辑型 | | | | 超时 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | res | 整数型 | | | data | 字节集 | | | long | 整数型 | | | 索引 | 整数型 | | | handle | 整数型 | | | frame | WebsocketFrame | | | socket | 整数型 | | | 局_url | 文本型 | | | 局_代理 | 文本型 | | | time | 整数型 | | | 如果 (WSS = 真)局_url = “https://” + url 局_url = “http://” + url time = 超时局_代理 = 代理 handle = curl_easy_init ()curl_easy_setopt (handle, #CURLOPT_URL, _取文本数据地址 (局_url )) curl_easy_setopt (handle, #CURLOPT_SSL_VERIFYPEER, 0 )curl_easy_setopt (handle, #CURLOPT_PROXY, _取文本数据地址 (局_代理 )) curl_easy_setopt (handle, #CURLOPT_CONNECT_ONLY, 1 )curl_easy_setopt (handle, #CURLOPT_TIMEOUT, time )res = curl_easy_perform (handle )如果真 (res ≠ 0 )curl_easy_cleanup (handle )返回 (-1 )data = 取握手数据包 ()res = curl_easy_send (handle, _取字节集数据地址 (data ), 取字节集长度 (data ), long )frame.opcode = #OPCODE_BINARY frame.fin = 真 frame.masked = 真 frame.payload_data = __ASM_16进制文本到字节集 (“****”)data = 请求数据 (frame )res = curl_easy_send (handle, _取字节集数据地址 (data ), 取字节集长度 (data ), long )frame.payload_data = __ASM_16进制文本到字节集 (“****”)data = 请求数据 (frame )res = curl_easy_send (handle, _取字节集数据地址 (data ), 取字节集长度 (data ), long )如果真 (res ≠ 0 )curl_easy_cleanup (handle )返回 (-1 )curl_easy_getinfo (handle, #CURLINFO_ACTIVESOCKET, _取整数型数据地址 (socket))
变量名 | 类 型 | 静态 | 数组 | 备 注 | udtRead_fds | FD_SET | | | udtWrite_fds | FD_SET | | | udtError_fds | FD_SET | | | lngRetValue | 整数型 | | | data | 字节集 | | | res | 整数型 | | | long | 整数型 | | | handle | 整数型 | | | frame | WebsocketFrame | | | 局_时钟 | 类_多线程式时钟 | | | 线程句柄 | 整数型 | | | socket | 整数型 | | | buff | 字节集 | | | n | 整数型 | | |
socket = 到整数 (超级列表框1. 取标题 (索引, 2 )) handle = 到整数 (超级列表框1. 取标题 (索引, 3 )) 如果真 (handle = 0 )返回 ()res = curl_easy_getinfo (handle, #CURLINFO_ACTIVESOCKET, _取整数型数据地址 (socket))udtRead_fds.fd_array = socket udtWrite_fds.fd_array = socket udtError_fds.fd_array = socket udtRead_fds.fd_count = 1 udtWrite_fds.fd_count = 1 udtError_fds.fd_count = 1 lngRetValue = select (0, udtRead_fds, udtWrite_fds, udtError_fds, 5 )调试输出 (socket, handle, 索引, lngRetValue, res, udtRead_fds.fd_count, udtWrite_fds.fd_count, udtError_fds.fd_count )如果真 (lngRetValue = -1 )curl_easy_cleanup (handle )进入许可区 (许可证 )超级列表框1. 置标题 (索引, 3, “0”)超级列表框1. 置标题 (索引, 4, “掉线!!”)退出许可区 (许可证 )返回 ()如果真 (udtRead_fds.fd_count = 1 )buff = 取空白字节集 (1024 )curl_easy_recv (handle, _取字节集数据地址 (buff ), 取字节集长度 (buff ), n ) frame.opcode = #OPCODE_BINARY frame.fin = 真 frame.masked = 真 frame.payload_data = __ASM_16进制文本到字节集 (“****”)data = 请求数据 (frame )res = curl_easy_send (handle, _取字节集数据地址 (data ), 取字节集长度 (data ), long )
源码中使用的多线程是论坛开源的多线程 使用的CURL是@JnToo编译的7.59版本 多线程时钟使用的是@呵呵仙
下载地址回复查看
例子.zip
(1.2 MB, 下载次数: 992)
|
-
评分
-
查看全部评分
|