进行计算(a+b+c)并将结果返回给客户端_第1页
进行计算(a+b+c)并将结果返回给客户端_第2页
进行计算(a+b+c)并将结果返回给客户端_第3页
进行计算(a+b+c)并将结果返回给客户端_第4页
进行计算(a+b+c)并将结果返回给客户端_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、服务端接收客户端发送的数据,进行计算(a+b+c)并将结果返回给客户端。完整代码已经开源: Boost asio异步TCP通讯及tcp粘包解包解决方案iOS数据类型转换 NSData转NSString,Byte,UIImage. iOS私有方法 和私有变量 iOS索引搜索核心代码 ,iOS调用 objc_msgSend 报错解决办法 iOS图表,曲线图,柱形图,条形图,饼状图 /lieefu/boostasiotcp代码 C/C+代码 #include <iostream>#include <string>#include <boost/bind.hpp>#

2、include <boost/asio.hpp>#include <boost/asio/ip/tcp.hpp>#include <boost/algorithm/string.hpp>#include <boost/lexical_cast.hpp>#include <boost/asio/steady_timer.hpp> 代码 Google Go代码 package mainimport ( "io/ioutil" "net/http" "net/" "fmt

3、" "encoding/json") /-/ 黄金数据调用示例代码 聚合数据/ ios系统自带地图基本方法实现 /- const APPKEY = "*" /您申请的APPKEY func main() /1.上海黄金交易所 Request1() /2.上海期货交易所 Request2() /3.银行账户黄金 Request3() /1.上海黄金交易所func Request1() /请求地址 juhe :="web:8080/finance/gold/shgold" /初始化参数 param:=.Values /配置请求参

4、数,方法内部已处理encode问题,中文参数可以直接传参 param.Set("key",APPKEY) /APP Key param.Set("v","") /JSON格式版本(0或1)默认为0 /发送请求 data,err:=Get(juhe,param) if err!=nil fmt.Errorf("请求失败,错误信息:rn%v",err) else var netReturn mapstringinterface json.Unmarshal(data,&netReturn) if netRetu

5、rn"error_code".(float64)=0 fmt.Printf("接口返回result字段是:rn%v",netReturn"result") /2.上海期货交易所func Request2() /请求地址 juhe :="web:8080/finance/gold/shfuture" /初始化参数 param:=.Values /配置请求参数,方法内部已处理encode问题,中文参数可以直接传参 param.Set("key",APPKEY) /APP Key param.Set(

6、"v","") /JSON格式版本(0或1)默认为0 /发送请求 data,err:=Get(juhe,param) if err!=nil fmt.Errorf("请求失败,错误信息:rn%v",err) else var netReturn mapstringinterface json.Unmarshal(data,&netReturn) if netReturn"error_code".(float64)=0 fmt.Printf("接口返回result字段是:rn%v",net

7、Return"result") /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("请求失败,错误信息:rn%v",err) else v

8、ar netReturn mapstringinterface json.Unmarshal(data,&netReturn) if netReturn"error_code".(float64)=0 fmt.Printf("接口返回result字段是:rn%v",netReturn"result") / get 网络请求func Get(api string,params .Values)(rsbyte ,err error) var *. ,err=.Parse(api) if err!=nil fmt.Printf(&q

9、uot;解析错误:rn%v",err) return nil,err /如果参数中有中文参数,这个方法会进行Encode .RawQuery=params.Encode() resp,err:=http.Get(.String() if err!=nil fmt.Println("err:",err) return nil,err defer resp.Body.Close() return ioutil.ReadAll(resp.Body) / post 网络请求 ,params 是.Values类型func Post(api string, params .V

10、alues)(rsbyte,err error) resp,err:=http.PostForm(api, params) if err!=nil return nil ,err 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;

11、using Xfrog.Net;using System.Diagnostics;using System.Web; /-/ 黄金数据调用示例代码 聚合数据/ 在线接口文档:www/docs/29/ 代码中JsonObject类下载地址:/- namespace ConsoleAPI class Program static void Main(string args) string appkey = "*" /配置您申请的appkey /1.上海黄金交易所 string 1 = "web:8080/finance/gold/shgold" var pa

12、rameters1 = new Dictionary<string, string>(); parameters1.Add("key", appkey);/你申请的key parameters1.Add("v" , ""); /JSON格式版本(0或1)默认为0 string result1 = sendPost(1, parameters1, "get"); JsonObject newObj1 = new JsonObject(result1); String errorCode1 = newObj

13、1"error_code".Value; if (errorCode1 = "0") Debug.WriteLine("成功"); Debug.WriteLine(newObj1); else /Debug.WriteLine("失败"); Debug.WriteLine(newObj1"error_code".Value+":"+newObj1"reason".Value); /2.上海期货交易所 string 2 = "web:8080/fi

14、nance/gold/shfuture" var parameters2 = new Dictionary<string, string>(); parameters2.Add("key", appkey);/你申请的key parameters2.Add("v" , ""); /JSON格式版本(0或1)默认为0 string result2 = sendPost(2, parameters2, "get"); JsonObject newObj2 = new JsonObject(resu

15、lt2); String errorCode2 = newObj2"error_code".Value; if (errorCode2 = "0") Debug.WriteLine("成功"); Debug.WriteLine(newObj2); else /Debug.WriteLine("失败"); Debug.WriteLine(newObj2"error_code".Value+":"+newObj2"reason".Value); /3.银行账户

16、黄金 string 3 = "web:8080/finance/gold/bankgold" var parameters3 = new Dictionary<string, string>(); parameters3.Add("key", appkey);/你申请的key string result3 = sendPost(3, parameters3, "get"); JsonObject newObj3 = new JsonObject(result3); String errorCode3 = newObj3&q

17、uot;error_code".Value; if (errorCode3 = "0") Debug.WriteLine("成功"); Debug.WriteLine(newObj3); else /Debug.WriteLine("失败"); Debug.WriteLine(newObj3"error_code".Value+":"+newObj3"reason".Value); / <summary> / Http (GET/POST) / <

18、/summary> / <param name="">请求</param> / <param name="parameters">请求参数</param> / <param name="method">请求方法</param> / <returns>响应内容</returns> static string sendPost(string , IDictionary<string, string> parameters, s

19、tring method) if (method.ToLower() = "post") HttpWebRequest req = null; HttpWebResponse rsp = null; System.IO.Stream reqStream = null; try req = (HttpWebRequest)WebRequest.Create(); req.Method = method; req.KeepAlive = false; req.ProtocolVersion = HttpVersion.Version10; req.Timeout = 5000;

20、 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); rsp = (HttpWebResponse)req.GetResponse(); Encoding encoding

21、= Encoding.GetEncoding(rsp.CharacterSet); return GetResponseAsString(rsp, encoding); catch (Exception ex) return ex.Message; finally if (reqStream != null) reqStream.Close(); if (rsp != null) rsp.Close(); else /创建请求 HttpWebRequest request = (HttpWebRequest)WebRequest.Create( + "?" + BuildQ

22、uery(parameters, "utf8"); /GET请求 request.Method = "GET" request.ReadWriteTimeout = 5000; request.ContentType = "text/html;charset=UTF-8" HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamRead

23、er myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"); /返回内容 string retString = myStreamReader.ReadToEnd(); return retString; / <summary> / 组装普通文本请求参数。 / </summary> / <param name="parameters">Key-Value形式请求参数字典</param> / <r

24、eturns>编码后的请求数据</returns> static string BuildQuery(IDictionary<string, string> parameters, string encode) StringBuilder postData = new StringBuilder(); bool hasParam = false; IEnumerator<KeyValuePair<string, string>> dem = parameters.GetEnumerator(); while (dem.MoveNext()

25、string name = dem.Current.Key; string value = dem.Current.Value; / 忽略参数名或参数值为空的参数 if (!string.IsNullOrEmpty(name)/&& !string.IsNullOrEmpty(value) if (hasParam) postData.Append("&"); postData.Append(name); postData.Append("="); if (encode = "gb2312") postData

26、.Append(HttpUtility.Encode(value, Encoding.GetEncoding("gb2312"); else if (encode = "utf8") postData.Append(HttpUtility.Encode(value, Encoding.UTF8); else postData.Append(value); hasParam = true; return postData.ToString(); / <summary> / 把响应流转换为文本。 / </summary> / <

27、param name="rsp">响应流对象</param> / <param name="encoding">编码方式</param> / <returns>响应文本</returns> static string GetResponseAsString(HttpWebResponse rsp, Encoding encoding) System.IO.Stream stream = null; StreamReader reader = null; try / 以字符流的方式读取HTT

28、P响应 stream = rsp.GetResponseStream(); reader = new StreamReader(stream, encoding); return reader.ReadToEnd(); finally / 释放资源 if (reader != null) reader.Close(); if (stream != null) stream.Close(); if (rsp != null) rsp.Close(); 代码 PHP代码 /* * c远程传输工具 */public function post_c($,$body,$header,$type='

29、;POST') $ch = c_init(); c_setopt($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/json');

30、 / 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); /设置上传文件相关 c_setopt($ch,COPT_FOLLOWLOCATION,true); c_seto

31、pt($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); break; case 'POST': c_setopt($ch,COPT_POST,1); break; case 'PUT': c_setopt($ch,COPT_C

32、USTOMREQUEST,'PUT'); break; case 'DELETE': c_setopt($ch,COPT_CUSTOMREQUEST,'DELETE'); break; /上传文件相关设置 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; Wind

33、ows NT 6.0; Trident/4.0)');/ 模拟用户使用的浏览器 if(c_errno($ch) return c_error($ch); $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 -m6

34、4 -g -DSYB_LP64 -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 <stdio.h> /*建立通讯区域*/EXEC SQL INCLUDE SQLCA;/* * These

35、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 6EXEC SQL END DECLARE SECTION; #define EOLN '0'/* * Forward declarations of the error and message handlers and* other subroutines

36、called from main().*/void error_handler();void warning_handler(); intmain(int argc, char *argv)/*声明宿主变量*/ EXEC SQL BEGIN DECLARE SECTION; /* storage for login name and password. */ char username30; char sname30; char password30; char server30; EXEC SQL END DECLARE SECTION;/*错误处理*/ EXEC SQL WHENEVER

37、SQLERROR CALL error_handler(); EXEC SQL WHENEVER SQLWARNING CALL warning_handler(); EXEC SQL WHENEVER NOT FOUND CONTINUE;/*连接到 SQL SERVER 服务器*/ /* * Copy the user name and password defined in sybsqlex.h to * the variables declared for them in the declare section. */ strcpy(username, "mymotif&qu

38、ot;); strcpy(password, "wxwpxh"); strcpy(server, "MYMOTIFVOSTRO145480"); EXEC SQL CONNECT :username IDENTIFIED BY :password using :server; EXEC SQL USE testdb; EXEC SQL DECLARE c1 CURSOR FOR SELECT SNAME FROM STUDENT; EXEC SQL OPEN c1; printf("name in table studentn");

39、do EXEC SQL FETCH c1 INTO :sname; if (sqlca.sqlcode != 0) break; printf( "student name = %sn", sname ); while ( 1 ); EXEC SQL CLOSE c1; return(0); /*错误处理程序*/* * void error_handler()* * Displays error codes and numbers from the SQLCA and exits with* an ERREXIT status. */voiderror_handler(vo

40、id) fprintf(stderr, "n* SQLCODE=(%ld)", sqlca.sqlcode); if (sqlca.sqlerrm.sqlerrml) fprintf(stderr, "n* ASE Error "); fprintf(stderr, "n* %s", sqlca.sqlerrm.sqlerrmc); fprintf(stderr, "nn"); exit(-1); /* void warning_handler()* 小型臭氧发生器 侳侱侲* Displays warning me

41、ssages.*/voidwarning_handler(void) if (sqlca.sqlwarn1 = 'W') fprintf(stderr, "n* Data truncated.n"); if (sqlca.sqlwarn3 = 'W') fprintf(stderr, "n* Insufficient host variables to store results.n"); return;代码 Log4j配置 <!- 日志jar -> <dependency> <groupId

42、>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </dependency>导入这个包,会引入下面两个jar<!-spring 的基本jar包 -> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> </dependency> <!-

43、commons-login是必须的,而且没有依赖,是独立的包 -> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging-api</artifactId> <version>1.1</version> </dependency><dependency><!- transactionManager实务管理的时候,需要这个jar包 -> <groupId>org.s

44、pringframework</groupId> <artifactId>spring-orm</artifactId></dependency><dependency> <!-当spring-config.xml文件中配置<aop:aspect >需要加入此包 -> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId></dependency><depende

45、ncy> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId></dependency>文件 无缝滚动.html 1KB <!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> *

46、 margin: 0;padding: 0; #wrap ul li width: 380px; height: 230px; float: left; list-style: none; #wrap ul position: absolute; left: 0; top: 0; #wrap width: 1520px; height: 230px; margin: 100px 50px; position: relative; background: red; overflow: hidden; </style> <script type="text/javascript"> window.onload=function() var oDiv=document.getElementById('wrap'); var oUl=oDiv.getElementsByTagName('ul')0; var oLi=oUl.getElementsByTagName('li'); oUl.innerHTML=oUl.innerHTML+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论