求大牛指点-----java socket获取数据后的处理

星球本色 星球本色 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
Socket client = new Socket("192.168.1.22", 8217);
client.setSoTimeout(10000);
int i;
String stra = "7e8004003c000079676a202020202020203132333435362020202020202020202020202020202020202020202020202020202020202020202020202020202020202020eb7e";
byte[] strm = BytesToHexString.hexString2Bytes(stra);

System.out.println(strm);
//获取Socket的输出流,用来发送数据到服务端
PrintStream out = new PrintStream(client.getOutputStream());
//获取Socket的输入流,用来接收从服务端发送过来的数据
BufferedReader buf = new BufferedReader(new InputStreamReader(client.getInputStream()));

DataInputStream in = new DataInputStream(client.getInputStream());




byte[] temp= new byte[1024];
byte[] temp1;
char[] cha= new char[200];
//CharArrayReader reader = new CharArrayReader(client.getInputStream());
boolean flag = true;
boolean sendflag = true;
while(flag){
if(sendflag){
System.out.print("发送数据给服务端");
//发送数据到服务端
out.write(strm);
sendflag=false;
}
try{
i=in.read(temp);
String b = BytesToHexString.bytes2HexString(temp);//字节数组转16进制字符串
System.out.println("111111111111111111===="+b);




}catch(SocketTimeoutException e){
System.out.println("Time out, No response");
}

}
//input.close();
if(client != null){
//如果构造函数建立起了连接,则关闭套接字,如果没有建立起连接,自然不用关闭
client.close(); //只关闭socket,其关联的输入输出流也会被关闭
}


}

i=in.read(temp);这里会获取服务端发过来的数据,源源不断。而且上一条收到的temp可能要与下一条的temp连接起来数据才完整,求大牛指点一点。第一次接触socket
...全文

相关推荐

评论 6
收藏 已收藏
分享
返回顶部
星球本色
Java EE 67,535 成员 225,843 内容