public static String send8583(String send8583Str,String host,int port) throws Exception{
//客户端请求与本机在20011端口建立TCP连接
Socket client = new Socket(host, port);
client.setSoTimeout(70000);
//获取Socket的输出流,用来发送数据到服务端
PrintStream out = new PrintStream(client.getOutputStream());
//获取Socket的输入流,用来接收从服务端发送过来的数据
InputStream buf = client.getInputStream();
String str = "mpos-"+send8583Str;
//发送数据到服务端
out.println(str);
try{
byte[] b = new byte[1024];
int rc=0;
int c = 0;
while( (rc = buf.read(b, c, 1024) )>=0){
c = buf.read(b, 0, rc);
}
String returnStr = byte2hex(b);
String string = returnStr;
String str16 = string.substring(0, 4);
int leng = Integer.parseInt(str16,16);
String result = string.substring(0, leng*2 + 4);
return result;
}catch(Exception e){
e.printStackTrace();
System.out.println("Time out, No response");
}
return null;
}
java socket 接收byte数组
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- using Java NIO's ByteBuffer is very simple: Code1: output...
- 用的Socket发送和接收数据,远程模块指令为16进制。 下面的转换函数对于初学者来说比较方便: //16进制字符...