⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 udpclient.c

📁 linux下简单对象应用协议的开发库
💻 C
字号:
/*udpclient.cSOAP-over-UDP demo client--------------------------------------------------------------------------------gSOAP XML Web services toolsCopyright (C) 2001-2004, Robert van Engelen, Genivia, Inc. All Rights Reserved.This software is released under one of the following two licenses:GPL or Genivia's license for commercial use.--------------------------------------------------------------------------------GPL license.This program is free software; you can redistribute it and/or modify it underthe terms of the GNU General Public License as published by the Free SoftwareFoundation; either version 2 of the License, or (at your option) any laterversion.This program is distributed in the hope that it will be useful, but WITHOUT ANYWARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR APARTICULAR PURPOSE. See the GNU General Public License for more details.You should have received a copy of the GNU General Public License along withthis program; if not, write to the Free Software Foundation, Inc., 59 TemplePlace, Suite 330, Boston, MA 02111-1307 USAAuthor contact information:engelen@genivia.com / engelen@acm.org--------------------------------------------------------------------------------A commercial use license is available from Genivia, Inc., contact@genivia.com--------------------------------------------------------------------------------*/#include "soapH.h"#include "udp.nsmap"int main(int argc, char **argv){ struct soap soap;  struct SOAP_ENV__Header header;  struct wsa__EndpointReferenceType replyTo;  char *res;  char *mid1 = "id1";  char *mid2 = "id2";  if (argc > 1)    mid1 = argv[1];  if (argc > 2)    mid2 = argv[2];  soap_init(&soap);  soap.send_timeout = 1;  soap.recv_timeout = 1;  /* To compress the request message (compile with -DWITH_GZIP):  soap_set_omode(&soap, SOAP_ENC_ZLIB);  */  /* To transmit DIME attachments:  soap_set_dime(&soap);  soap_set_dime_attachment(&soap, "abc", 3, "cid:abc", "text/xml", 0, NULL);  */  /* To transmit MIME attachments:  soap_set_mime(&soap, NULL, NULL);  soap_set_mime_attachment(&soap, "abc", 3, SOAP_MIME_7BIT, "text/xml", "cid:abc", NULL, NULL);  */  /* Prepare SOAP Header */  soap_default_SOAP_ENV__Header(&soap, &header);  soap.header = &header;  soap_default_wsa__EndpointReferenceType(&soap, &replyTo);  replyTo.Address = "http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous";  /* Set WS-Addressing elements for request-response unicast */  header.wsa__MessageID = mid1;  header.wsa__To = "http://genivia.com/udp/server";  header.wsa__Action = "http://genivia.com/udp/echoString";  header.wsa__ReplyTo = &replyTo;  /* Make request-response call */  if (soap_call_ns__echoString(&soap, NULL, NULL, "hello world!", &res))  { if (soap.error == SOAP_EOF && soap.errnum == 0)      printf("Timeout: message probably already delivered\n");    else      soap_print_fault(&soap, stderr);  }  else    printf("UDP server response: %s\n", res);  /* Reset the SOAP Header */  soap_default_SOAP_ENV__Header(&soap, &header);  soap.header = &header;  /* Set WS-Addressing elements for one-way unicast */  header.wsa__MessageID = mid2;  header.wsa__To = "http://genivia.com/udp/server";  header.wsa__Action = "http://genivia.com/udp/sendString";  /* Send one-way message */  if (soap_send_ns__sendString(&soap, NULL, NULL, "hello world!"))    soap_print_fault(&soap, stderr);  soap_end(&soap);  soap_done(&soap);  return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -