首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

socket 请求的施用

2012-12-23 
socket 请求的使用!有一份接口文档,采用socket方式进行数据通信,第三方系统通过提交socket请求,完成查询操

socket 请求的使用!
有一份接口文档,采用socket方式进行数据通信,第三方系统通过提交socket请求,完成查询操作。客户端接收数据时,数据类型为length+value,length的长度是5位。对于这个socket我知道的不是很多,不知道怎么使用,如何发送请求、接收数据。

文档中样例:
请求格式与参数:
例如:
TradeId=2&TradePwd=1234567890&TradeCode=Trd00001&TradeOrdId=12345678&CityId=1&CarryNodeStaId=0&Date=2010-3-18&StopId=9056&PersonalKey=abcdef1234567890
请求参数长度说明必填备注
TradeId<=10商户ID Y例如:2
TradePwd<=20商户交易密码Y例如:11111111111111
TradeCode<=20商户交易代码Y必须是:Trd00001
TradeOrdId<=30商户交易订单Y例如:12345678
CityId=1归属城市Y必须是:0 表示杭州
CarryNodeStaId=4始发站点Y例如:9992
Date=19班次日期发Y例如:2010-03-17 00:00:00
StopId=4到达站点Y例如:4108
PersonalKey<=40私钥Y例如:abcdef1234567890


应答格式:
例如:其中前5位为后面应答数据的长度
3800 'RtnCode=0&RtnErrMsg=&TradeId=2&TradeCode=Trd000
01&TradeOrdId=12345678&SellTkNum=32&SellTkInfo=9992,9992,杭州西站,2010-3-17,4711
,2010-3-17,2010-3-17 7:20:00,7,167,45,0,22.5,0,22.5,0,45,0,0,0,3,0,0,3,0,0,千岛
湖,大高1,杭州西站-千岛湖,2010-3-17 7:20:00,普通,0|9992,9992,杭州西站,2010-3-17,4
969,2010-3-17,2010-3-17 7:40:00,14,167,60,0,30,0,30,0,60,0,0,0,3,0,3,3,0,0,淳安,
中高2,杭西-千岛湖(快),2010-3-17 7:40:00,快客,-1|………..  
返回参数长度说明必填备注
RtnCode<=5查询返回结果状态Y例如:0 表示成功 -1表示失败
RtnErrMsg<=300交易异常说明Y例如:没有符合条件记录 
TradeId<=10商户ID Y例如:2
TradeCode<=20商户交易代码Y必须是:Trd00001
TradeOrdId<=30商户交易订单Y例如:11111111111111
SellTkNum<=5返回班次个数Y例如:32
SellTkInfo<=1024*6返回班次信息列表Y例如:……..



具体怎样把这些参数通过scoket请求发送到服务端,怎样建立连接,又是怎样接收数据,对于接收到的参数又该怎么处理比较方便,有没有要特别注意的地方。最好能附加一些代码或详细的讲解,谢谢大家的帮忙!
[解决办法]
发送时直接当作文本串发送,然后以回车符结束“\n”

读取时可以用BufferReader进行包装,然后直接 readLine(); 就可以读取到完整的内容了。

至于逐个参数的解析,你可以先用 split("&") 将其拆分,然后再逐个处理,也不算复杂。

热点排行