libcurl 嵌入式编译并使用websockets

1.官网下载curl源码并解压

2.进入解压目录  指定编译器及启用websockets

./configure --without-ssl --enable-websockets  CC=arm-arago-linux-gnueabi-gcc --host=arm-arago-linux 

(这里遇到一个坑,host一开始填成arm,导致无法生成动态库)

3. make 

初始化

    	m_curl = curl_easy_init();
    
        //m_mediaURL填ws接口地址如 ws://xxxx.xxxx.net:8080/BlService
    	curl_easy_setopt(m_curl, CURLOPT_URL, m_mediaURL);

    	// Set other options as needed (e.g. TLS/HTTPS options)
        curl_easy_setopt(m_curl, CURLOPT_TIMEOUT_MS, 3000);
        
    	// Perform a regular transfer with CONNECT_ONLY set to enable WebSocket mode
    	//注意要使用websocket模式时这里要填2
        curl_easy_setopt(m_curl, CURLOPT_CONNECT_ONLY, (long)2);
        
        CURLcode res;
    	res = curl_easy_perform(m_curl);
    	if(res == CURLE_OK) {
    		TraceLog(LOG_INFO,MODU_APP_OAM,"Connected to WebSocket server\n");
            return G_RET_SUCC;
    	}
        else
        {
    		TraceLog(LOG_INFO,MODU_APP_OAM,"Connect to WebSocket server failed\n");
            curl_easy_cleanup(m_curl);
            m_curl = NULL;
            return G_RET_FAIL;
        }

收发

	char cmdBuf[256] = {0};

    snprintf(cmdBuf, sizeof(cmdBuf), "{	\"tags\": [{\"mac\": \"%s\"}]	}", tagId);
    
    size_t sended = 0;
    CURLcode  res = curl_ws_send(m_curl, cmdBuf, strlen(cmdBuf)+1,  &sended,0, CURLWS_TEXT);
    
	if (res == CURLE_OK)
	{
		size_t rlen;
		struct curl_ws_frame *meta;
		char buffer[2560]  = {0};
		CURLcode result = curl_ws_recv(m_curl, buffer, sizeof(buffer), &rlen, &meta);
		if (result == CURLE_OK)
		{
			printf("%s\n", buffer);            
		}
	}    
    else
    {
        //
    }

=====================================================

又:在windows下编译可使用CMAKE-GUI生成VC project

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows系统中使用VS Code进行libcurl编译使用需要以下步骤: 1. 下载安装VS Code:访问VS Code官方网站https://code.visualstudio.com下载并安装适用于Windows的最新版本VS Code。 2. 安装C/C++扩展:在VS Code中点击左侧侧边栏的扩展图标,在搜索框中输入"C/C++",选择Microsoft官方提供的C/C++扩展,并点击"安装"按钮进行安装。 3. 下载libcurl源码:访问libcurl官方网站https://curl.se/download.html下载最新的libcurl源码压缩包,解压到本地目录。 4. 配置CMake:在VS Code中按下Ctrl+Shift+P,输入"kit",选择"CMake: Edit User-Local CMake Kits",在弹出的json文件中添加以下内容: { "name": "Windows", "compilers": { "cpp.win32": { "target": "x64" } }, "cmakeCommandArgs": [ "-DCMAKE_TOOLCHAIN_FILE=C:/path/to/vcpkg/scripts/buildsystems/vcpkg.cmake", "-DVCPKG_TARGET_TRIPLET=x64-windows" ] } 将上述路径替换为vcpkg的实际安装路径。 5. 配置vcpkg:访问vcpkg官方网站https://github.com/Microsoft/vcpkg下载并安装vcpkg,按照官方文档的指引完成安装及设置。 6. 安装libcurl依赖库:在命令行中切换到vcpkg安装目录,运行命令`.\vcpkg install curl:x64-windows`进行libcurl依赖库的安装。 7. 配置编译任务:在VS Code中按下Ctrl+Shift+B,选择"配置任务",然后选择"生成任务",在生成任务配置文件中添加以下内容: { "label": "build", "type": "shell", "command": "cmake", "args": ["${workspaceRoot}"] } 8. 编译使用:在VS Code中打开libcurl源码目录,按下Ctrl+Shift+B,选择"build"任务进行编译编译完成后,在生成目录中可以找到生成的可执行文件或库文件,可以在代码中引用相应的头文件进行libcurl使用。 需要注意的是,上述步骤仅提供了基本的编译使用指导,具体的操作可能因环境或版本变化而有所差异,请根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值