之前做项目需要对接MES管理系统,对于视觉或者电控算法工程师而言,和工业系统的对接是十分必要的。一般而言,现在的工业MES系统是Java工程师使用SQL开发的并具备可视化功能,但是常使用C++或者C#开发软件的我们该如何对接呢?答案是:接口。(关于接口这个名词我真的不想吐槽了,曾经我和Java工程师聊了一下午,发现俩人驴唇不对马嘴,有机会我会专门写篇搞笑技术博客吐槽)Java工程师提供一个接口给我,并且通过JSON格式传递信息。在这里接口指的是局域网下面一个网址,只需要打开这个网址,更改里面的字符,包含你的状态码便可以实现与MES的对接了。当然,MES的对接方式还有webservice方式等。
CURL库打开接口C++提供了CURL库访问一个网址,使用CURL库只需要把文件加入到相关项目文件中,包含头文件 即可。这里提供了一个CURL库的安装包:
C++Curl
//初始化libcurl curl_global_init(); //打印当前curl库的版本 char* curl_version(); //初始化一个CURL的指针,最后还要用curl_easy_cleanup清理 CURL* curl_easy_init(); //一般curl_easy_init()代表一个会话的开始 //它会返回一个CURL*对象,所以要清理,例如: CURL* curl=curl_easy_init(); curl_easy_cleanup(curl); //最重要的函数: CURLcode curl_easy_setopt(CURL* handle,CURLoption optionparameter); CURLcode curl_easy_perform(CURL* handle); //这个函数在curl_easy_setopt后调用,perform就像一个舞台,让设置的option运行起来; //例如: CURLcode res=curl_easy_perform(curl);使用CURL访问网址的例子
例如,访问CSDN网址的主要代码是:
string out; char* szpag="https://www.csdn.net/?spm=1001.2101.3001.5359"; curl_easy_setopt(curl,CURLOPT_URL,sepag); //发送数据和检测有效数据返回,就会自动调用回调函数 curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,WriteDate); //查看网页打开后显示的内容 curl_easy_setopt(curl,CURLOPT_WRITEDATA,&out);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)