91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

onvif server Discovery實現

發布時間:2020-08-03 07:12:57 來源:網絡 閱讀:2219 作者:llf_17 欄目:編程語言


#include "soapH.h"  

#include "wsddapi.h"

#include <stdio.h>

#include <sys/types.h>          /* See NOTES */

#include <sys/socket.h>

#include <unistd.h>

#include <errno.h>


extern int GetListenPort();

void* main_probe(void* arg)

{

    int m, s;

    struct ip_mreq mcast;

    struct soap soap;

    soap_init2(&soap, SOAP_IO_UDP | SOAP_IO_FLUSH, SOAP_IO_UDP|SOAP_IO_FLUSH);  

    soap_set_namespaces(&soap, namespaces);

    soap_set_mode(&soap, SOAP_C_UTFSTRING);//客戶端接收支持中文 

    soap.bind_flags        = SO_REUSEADDR;

    soap.connect_timeout   = 10;

    soap.recv_timeout      = 5;

    soap.send_timeout      = 5;

    soap_register_plugin(&soap, soap_wsa);

 // 打開調試信息,需 1)、首先gsoap安裝時,在./configure --prefix=/usr/local/gsoap --enable-debug

  // 2)、在/usr/local/gsoap/include/sdtsoap2.h文件中開啟#define DEBUG

    //soap_set_recv_logfile(&soap, "./log/recv.xml");

    //soap_set_sent_logfile(&soap, "./log/send.xml");

    //soap_set_test_logfile(&soap, "./log/test.log");

    if(!soap_valid_socket(soap_bind(&soap, NULL, 3702, 16)))

    {

soap_print_fault(&soap, stderr);

exit(1);

    }

    mcast.imr_multiaddr.s_addr = inet_addr("239.255.255.250");

    mcast.imr_interface.s_addr = inet_addr("0.0.0.0");

    if(setsockopt(soap.master, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char*)&mcast, sizeof(mcast)) < 0) 

    {

        printf("setsockopt error!\n");

        return 0;

    }  

    //成功綁定之后,便開始監聽

    for (;;) {

        //監聽直到有連接請求

        soap_wsdd_listen(&soap, 0);

        soap_destroy(&soap);

        soap_end(&soap);

        fprintf(stderr, "Socket connection successful: slave socket = %d\n", s);

    }

    soap_done(&soap);

    return (void*)0;

}


int   http_get(struct  soap   *soap) 

/*

The callback is required to produce a response to the request in textual form, such as a

Web page or a SOAP/XML response. This method does not work with CGI.

*/


{

soap->http_content = "text/xml";  //HTTP header with text /xml content

char szContent[100] = {0};


sprintf(szContent, "welcome to use webservice!");


sprintf(soap->tmpbuf, szContent);


soap_send_raw(soap, soap->tmpbuf, strlen(szContent));

}


soap_end_send(soap);


return SOAP_OK; 


}

int main(int argc, char **argv)    

{   

int m, s;    

    struct soap thesoap;    

  

    pthread_t thrProbe;  

 

    pthread_create(&thrProbe,NULL,main_probe,NULL);  

  

    soap_init(&thesoap);    

    soap_set_namespaces(&thesoap, namespaces);

#ifdef DEBUG

printf("debug mode\n");

#else 

printf("release mode\n");

#endif

thesoap.fget = http_get;


  

  

    if (argc < 0) {    

        printf("usage: %s <server_port> \n", argv[0]);    

        exit(1);    

    } else { 

  // LOAD_CFGFILE(root);

   int port = GetListenPort();//8085;//root["port"].asInt();

   m = soap_bind(&thesoap, NULL, port, 100);    

        if (m < 0) {    

            soap_print_fault(&thesoap, stderr);    

            exit(-1);    

        }    

        fprintf(stderr, "Socket connection successful: master socket = %d\n", m);    

        for (;;) {    

            s = soap_accept(&thesoap);    

            if (s < 0) {    

                soap_print_fault(&thesoap, stderr);    

                exit(-1);    

            }    

          //  fprintf(stderr, "Socket connection successful: slave socket = %d\n", s);    

            soap_serve(&thesoap);    

            soap_end(&thesoap);

    

      // fprintf(stderr, " soap_end socket = %d\n", s);   

        }    

    }    

    return 0;    

}   


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

景泰县| 吉水县| 南溪县| 景德镇市| 龙泉市| 锡林郭勒盟| 大新县| 宁明县| 嘉祥县| 江华| 凤凰县| 乳山市| 马关县| 绍兴市| 南江县| 邢台县| 舞钢市| 丰都县| 肇州县| 湘阴县| 德格县| 湘西| 华池县| 介休市| 花莲市| 金华市| 白城市| 沾化县| 桐庐县| 嘉荫县| 昂仁县| 仁化县| 山东| 靖西县| 旌德县| 延川县| 庆元县| 扶风县| 成安县| 霍邱县| 自治县|