ImageVerifierCode 换一换
格式:DOC , 页数:44 ,大小:66.54KB ,
资源ID:3859882      下载积分:12 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3859882.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(Boostasio异步TCP通讯及tcp粘包解包解决方案.doc)为本站上传会员【a199****6536】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Boostasio异步TCP通讯及tcp粘包解包解决方案.doc

1、Boost asio异步TCP通讯及tcp粘包解包解决方案 Sphinx调用命令列表 [Shell/批解决],Spring连接MySQL、Oracle和SQL Server的数 sql防注入的登录注册 [SQL],Struts 2剔除Ongl表达式危险的数据类型。 SVG绘制圆弧 svn 小冲突解决 笔记 tableview 全面自定制 int main() { namespace ip = boost::asio::ip; boost::asio::io_service io_service; // Server binds to

2、 any address and any port. ip::udp::socket socket(io_service, ip::udp::endpoint(ip::udp::v4(), 0)); socket.set_option(boost::asio::socket_base::broadcast(true)); // Broadcast will go to port 8888. ip::udp::endpoint broadcast_endpoint(ip::address_v4::broadcast(), 8888

3、); // Broadcast data. //boost::array buffer; char* buf = "测试代码"; socket.send_to(boost::asio::buffer(buf,strlen(buf)+1), broadcast_endpoint); } //jQuery地区三级联动选择输入 //jquery实现网站列表切换效果(2种方法) //js动画完美框架 [文献] skiplist.cpp ~ 5KB /* skip list */ #include

4、> #include /* implementation dependent declarations */ typedef enum { STATUS_OK, STATUS_MEM_EXHAUSTED, STATUS_DUPLICATE_KEY, STATUS_KEY_NOT_FOUND } statusEnum; // js实现鼠标hover时tab自动切换 typedef int keyType; /* type of key */ /* user data stored in tr

5、ee */ typedef struct { int stuff; /* optional related data */ } recType; #define compLT(a,b) (a < b) #define compEQ(a,b) (a == b) /* levels range from (0 .. MAXLEVEL) */ #define MAXLEVEL 15 typedef struct nodeTag { keyType key; /* key used fo

6、r searching */ recType rec; /* user data */ struct nodeTag *forward[1]; /* skip list forward pointer */ } nodeType; [代码] [Google Go]代码 package main import ( "io/ioutil" "net/http" "net/" "fmt" "encoding/json" ) //----------------------------

7、 // 黄金数据调用示例代码 - 聚合数据 // 在线接口文档:www/docs/29 //---------------------------------- const APPKEY = "*******************" //您申请的APPKEY func main(){ //1.上海黄金交易所 Request1() //2.上海期货交易所 Request2() //3.银行账户黄金 Request3() } //1.上海黄金交易所 fu

8、nc Request1(){ //请求地址 juhe :="web:8080/finance/gold/shgold" //初始化参数 param:=.Values{} //配置请求参数,方法内部已解决encode问题,中文参数可以直接传参 param.Set("key",APPKEY) //APP Key param.Set("v","") //JSON格式版本(0或1)默认为0 //发送请求 data,err:=Get(juhe,param) if err!=

9、nil{ fmt.Errorf("请求失败,错误信息:\r\n%v",err) }else{ var netReturn map[string]interface{} json.Unmarshal(data,&netReturn) if netReturn["error_code"].(float64)==0{ fmt.Printf("接口返回result字段是:\r\n%v",netReturn["result"]) } } } //2.上海期货

10、交易所 func Request2(){ //请求地址 juhe :="web:8080/finance/gold/shfuture" //初始化参数 param:=.Values{} //配置请求参数,方法内部已解决encode问题,中文参数可以直接传参 param.Set("key",APPKEY) //APP Key param.Set("v","") //JSON格式版本(0或1)默认为0 //发送请求 data,err:=Get(juhe,param)

11、 if err!=nil{ fmt.Errorf("请求失败,错误信息:\r\n%v",err) }else{ var netReturn map[string]interface{} json.Unmarshal(data,&netReturn) if netReturn["error_code"].(float64)==0{ fmt.Printf("接口返回result字段是:\r\n%v",netReturn["result"]) } } }

12、 //3.银行账户黄金 func Request3(){ //请求地址 juhe :="web:8080/finance/gold/bankgold" //初始化参数 param:=.Values{} //配置请求参数,方法内部已解决encode问题,中文参数可以直接传参 param.Set("key",APPKEY) //APP Key //发送请求 data,err:=Get(juhe,param) if err!=nil{ fmt.Errorf("

13、请求失败,错误信息:\r\n%v",err) }else{ var netReturn map[string]interface{} json.Unmarshal(data,&netReturn) if netReturn["error_code"].(float64)==0{ fmt.Printf("接口返回result字段是:\r\n%v",netReturn["result"]) } } } // get 网络请求 func Get(api string,pa

14、rams .Values)(rs[]byte ,err error){ var *. ,err=.Parse(api) if err!=nil{ fmt.Printf("解析错误:\r\n%v",err) return nil,err } //假如参数中有中文参数,这个方法会进行Encode .RawQuery=params.Encode() resp,err:=http.Get(.String()) if err!=nil{ fmt.Println("err

15、",err) return nil,err } defer resp.Body.Close() return ioutil.ReadAll(resp.Body) } // post 网络请求 ,params 是.Values类型 func Post(api string, params .Values)(rs[]byte,err error){ resp,err:=http.PostForm(api, params) if err!=nil{ return nil ,err }

16、 defer resp.Body.Close() return ioutil.ReadAll(resp.Body) } 代码描述:基于GO的黄金数据接口调用代码实例 关联数据:黄金数据 [代码] [C#]代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.IO; using Xfrog.Net; using System.Diagnostics; using Syst

17、em.Web; //---------------------------------- // 黄金数据调用示例代码 - 聚合数据 // 在线接口文档:www/docs/29 // 代码中JsonObject类下载地址:/download/gcm5/7458439 //---------------------------------- namespace ConsoleAPI { class Program { static void Main(string[] args) { s

18、tring appkey = "*******************"; //配置您申请的appkey //1.上海黄金交易所 string 1 = "web:8080/finance/gold/shgold"; var parameters1 = new Dictionary(); parameters1.Add("key", appkey);//你申请的key parame

19、ters1.Add("v" , ""); //JSON格式版本(0或1)默认为0 string result1 = sendPost(1, parameters1, "get"); JsonObject newObj1 = new JsonObject(result1); String errorCode1 = newObj1["error_code"].Value; if (errorCode1 == "0") {

20、 Debug.WriteLine("成功"); Debug.WriteLine(newObj1); } else { //Debug.WriteLine("失败"); Debug.WriteLine(newObj1["error_code"].Value+":"+newObj1["reason"].Value); } //2.上海期货交易所

21、 string 2 = "web:8080/finance/gold/shfuture"; var parameters2 = new Dictionary(); parameters2.Add("key", appkey);//你申请的key parameters2.Add("v" , ""); //JSON格式版本(0或1)默认为0 string result2 = sendPost(2, parameter

22、s2, "get"); JsonObject newObj2 = new JsonObject(result2); String errorCode2 = newObj2["error_code"].Value; if (errorCode2 == "0") { Debug.WriteLine("成功"); Debug.WriteLine(newObj2); }

23、 else { //Debug.WriteLine("失败"); Debug.WriteLine(newObj2["error_code"].Value+":"+newObj2["reason"].Value); } //3.银行账户黄金 string 3 = "web:8080/finance/gold/bankgold"; var parameters3 = new

24、Dictionary(); parameters3.Add("key", appkey);//你申请的key string result3 = sendPost(3, parameters3, "get"); JsonObject newObj3 = new JsonObject(result3); String errorCode3 = newObj3["error_code"].Value; if

25、errorCode3 == "0") { Debug.WriteLine("成功"); Debug.WriteLine(newObj3); } else { //Debug.WriteLine("失败"); Debug.WriteLine(newObj3["error_code"].Value+":"+newObj3["reason"].Value);

26、 } } ///

/// Http (GET/POST) /// /// 请求 /// 请求参数 /// 请求方法 /// 响应内容 stat

27、ic string sendPost(string , IDictionary parameters, string method) { if (method.ToLower() == "post") { HttpWebRequest req = null; HttpWebResponse rsp = null; System.IO.Stream reqStream = null;

28、 try { req = (HttpWebRequest)WebRequest.Create(); req.Method = method; req.KeepAlive = false; req.ProtocolVersion = HttpVersion.Version10; req.Timeout = 5000;

29、 req.ContentType = "application/x-www-form-encoded;charset=utf-8"; byte[] postData = Encoding.UTF8.GetBytes(BuildQuery(parameters, "utf8")); reqStream = req.GetRequestStream(); reqStream.Write(postData, 0, postData.Length);

30、 rsp = (HttpWebResponse)req.GetResponse(); Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet); return GetResponseAsString(rsp, encoding); } catch (Exception ex) {

31、 return ex.Message; } finally { if (reqStream != null) reqStream.Close(); if (rsp != null) rsp.Close(); } } else { //创建请求

32、 HttpWebRequest request = (HttpWebRequest)WebRequest.Create( + "?" + BuildQuery(parameters, "utf8")); //GET请求 request.Method = "GET"; request.ReadWriteTimeout = 5000; request.ContentType = "text/html;charset=UTF-8";

33、 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); //返回内容

34、 string retString = myStreamReader.ReadToEnd(); return retString; } } ///

/// 组装普通文本请求参数。 /// /// Key-Value形式请求参数字典 /// 编码后的请求数据

35、 static string BuildQuery(IDictionary parameters, string encode) { StringBuilder postData = new StringBuilder(); bool hasParam = false; IEnumerator> dem = parameters.GetEnumerator(); whi

36、le (dem.MoveNext()) { string name = dem.Current.Key; string value = dem.Current.Value; // 忽略参数名或参数值为空的参数 if (!string.IsNullOrEmpty(name))//&& !string.IsNullOrEmpty(value) { if (hasP

37、aram) { postData.Append("&"); } postData.Append(name); postData.Append("="); if (encode == "gb2312") { postData.Append(HttpU

38、tility.Encode(value, Encoding.GetEncoding("gb2312"))); } else if (encode == "utf8") { postData.Append(HttpUtility.Encode(value, Encoding.UTF8)); } else

39、 { postData.Append(value); } hasParam = true; } } return postData.ToString(); } ///

/// 把响应流转换为文本。 /// ///

40、"rsp">响应流对象 /// 编码方式 /// 响应文本 static string GetResponseAsString(HttpWebResponse rsp, Encoding encoding) { System.IO.Stream stream = null; StreamReader reader = null;

41、try { // 以字符流的方式读取HTTP响应 stream = rsp.GetResponseStream(); reader = new StreamReader(stream, encoding); return reader.ReadToEnd(); } finally { // 释放资源

42、 if (reader != null) reader.Close(); if (stream != null) stream.Close(); if (rsp != null) rsp.Close(); } } } } [代码] [PHP]代码 /** * c远程传输工具 */ public function post_c($,$body,$header,$type='POST'){ $ch = c_init(); c_set

43、opt($ch,COPT_,$); c_setopt($ch,COPT_HEADER,0);//0只要正文 c_setopt($ch,COPT_TIMEOUT,5);//设立超时时间 c_setopt($ch,COPT_CONNECTTIMEOUT,5); //将c_exec()获取的信息以文献流的形式返回,而不是直接输出。 c_setopt($ch,COPT_RETURNTRANSFER,1); //增长header头信息 // array_push($header,'Accept:application/js

44、on'); // array_push($header,'Content-Type:application/json'); // array_push($header,'http:multipart/form-data'); if(count($body)>0){ c_setopt($ch,COPT_POSTFIELDS,$body); } if(count($header)>0){ c_setopt($ch,COPT_HTTPHEADER,$header); } //设立上传文献相关

45、 c_setopt($ch,COPT_FOLLOWLOCATION,true); c_setopt($ch,COPT_MAXREDIRS,3);//递归 c_setopt($ch,COPT_SSL_VERIFYPEER,false);// 对认证证书来源的检查 c_setopt($ch,COPT_SSL_VERIFYHOST,0);// 从证书中检查SSL加密算法 switch ($type) { case 'GET': c_setopt($ch,COPT_HTTPGET,1);

46、 break; case 'POST': c_setopt($ch,COPT_POST,1); break; case 'PUT': c_setopt($ch,COPT_CUSTOMREQUEST,'PUT'); break; case 'DELETE': c_setopt($ch,COPT_CUSTOMREQUEST,'DELETE'); break;

47、 } //上传文献相关设立 c_setopt($ch,COPT_ENCODING,'gzip'); c_setopt($ch,COPT_USERAGENT,'SSTS Browser/1.0'); c_setopt($ch,COPT_USERAGENT,'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)');// 模拟用户使用的浏览器 if(c_errno($ch)){ return c_error($ch); }

48、 $content = c_exec($ch); c_close($ch);//关闭c资源,并且释放系统资源 $result = json_decode($content,true); if(!empty($result)){ return $result; }else{ return $content; } } [代码] [C/C++]代码 /* 编译指令 $ /opt/sybase/OCS-16_0/bin/cpre64 -m teststu.cp $ cc -m64 -g -DSYB_L

49、P64 -I. -I/opt/sybase/OCS-16_0/include teststu.c /opt/sybase/OCS-16_0/include/sybesql.c -L/opt/sybase/OCS-16_0/lib -lsybct64 -lsybtcl64 -lsybcs64 -lsybcomn64 -lsybintl64 -lsybunic64 -rdynamic -ldl -lnsl -lm -o teststu */ #include /*建立通讯区域*/ EXEC SQL INCLUDE SQLCA; /* ** These tokens must be declared in a declare section ** because they are used in declare sections below. */ EXEC SQL BEGIN DECLARE SECTION; #define TYPESIZE 13 #define TIDSIZE 6 EXEC SQL END DECLARE SECTION; #define EOLN '\0' /* ** Forward declarations of the error a

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服