求大牛指点-----java socket获取数据后的处理
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
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
...全文
相关推荐
java socket 视频流转发socket
java socket 视频流转发socket
Java Socket常见异常处理
在java网络编程Socket通信中,通常会遇到以下异常情况: 第1个异常是 java.net.BindException:Address already in use: JVM_Bind。 该异常发生在服务器端进行new ServerSocket(port)(port是一个0,65536的整型值)操作时。异常的原因是以为与port一样的一个端口已经被启动,并进行监听。此时用netstat -an命令,可以看到一个Listending状态的端口。只需要找一个没有被占用的端口能解决该问题了。 第2个异常是java.net.ConnectException: Connection
Java从小白到大牛精简版-综合文档
Java从小白到大牛精简版
Java Socket发送和接收的例子
Java Socket发送和接收的例子 能正确运行 代码有注释
Java面试之Socket编程
Java网络编程的问题.在java中如何进行socket编程。


