2015-07-03展讯基础知识定时器窗口GUITF文件读写例析.ppt

2015-07-03展讯基础知识定时器窗口GUITF文件读写例析.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络gprs以及socket(续上) 2)socket操作 1.创建socket: int sci_sock_socket (int family, int type, int protocol); 参数: family : 地址族,目前都设置为AF_INET; type : socket类型,目前有3种 SOCK_STREAM(TCP)\SCOK_DGRAM(UDP)\SOCK_RAW(IP) 我们现在都采用SOCK_STREAM; protocol : 协议,一般设置为0; 返回值: int型的socket描述符,返回值非负时表示成功,否则失败. 例:int socket_handle (socket描述符); socket_handle = sci_sock_socket (AF_INET, SOCK_STREAM, 0); 网络gprs以及socket(续上) 2.socket连接 int sci_sock_connect(long s, struct sci_sockaddr *name, int namelen); 参数: s: socket描述符(创建socket时返回的值); name: socket地址结构体信息; namelen: 上述结构体的长度,sizeof (struct sci_sockaddr ); 返回值: 0表示成功,-1表示失败;可以用sci_sock_error来看错误类型,具体在后面会讲述怎么使用. 例:int socket_handle (socket描述符); int con_ret; struct sci_sockaddr my_addr = {0}; char *szaddr = “72”;//移动的网关 socket_handle = sci_sock_socket(AF_INET, SOCK_STREAM, 0); if (socket_handle 0) return; my_addr .family = AF_INET; my_addr .port = htons(80); my_addr .ip_addr = inet_addr(szaddr); (注:这里inet_addr函数,就是将char型变量转变成unsigned long型) SCI_MEMSET ((void*) my_addr.sa_data, 0, 8*sizeof(char)); con_ret = sci_sock_connect ((long)socket_handle , my_addr, sizeof (struct sci_sockaddr ); 存放连接地址的结构体 网络gprs以及socket(续上) 3.socket发送请求 int sci_sock_send(long s, char *buf, int len, int flags); 参数: s: socket描述符 buf: 存放发送的报头信息的缓存 len: 缓存的大小 flags: 发送设置选项,一般设为0 返回值: -1表示失败;非负值表示成功,也是发送报头的字符数. 例: (续上) int send_ret = 0; char *buf = “GET HTTP/1.1\r\n\r\n”; if (con_ret == 0)//表示连接成功 { send_ret = sci_sock_send((long )socket_handle, buf, strlen(buf), 0); } 网络gprs以及socket(续上) 4.socket接受数据 int sci_sock_recv (long s, char *buf, int len, int flags); 参数: s: socket描述符 buf: 存放接受信息的缓存 len: 缓存的大小 flags: 接受设置选项,一般设为0 返回值: -1表示失败;非负值表示成功,也是接受数据的字符数. 例: (续上) int recv_ret = 0; char buf[1999] = {0}; if (send_ret = 0)//表示发送请求成功 { recv_ret = sci_sock_recv ((long )socket_handle, buf,1999, 0); } 网络gprs以及socket(续上) 5.关闭socket int sci_sock_socketclose ((long*)s); 参数: s: socket描述符; 返回值: 0表示成功

您可能关注的文档

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档