我原来的程序如下: PrintWriter out = new PrintWriter(socket.getOutputStream(), true); BufferedReader in = new BufferedReader( new InputStreamReader( socket.getInputStream()));
String inputLine, outputLine; out.println("<?xml version='1.0' encoding='ISO-8859-1'?><txnreq><syscode>0101</syscode><sysword>等待数据包</sysword></txnreq>"); out.flush(); while ((inputLine=in.readLine())!=null) { outputLine = inputLine; out.println(outputLine); out.flush(); } 修改后的程序如下: PrintWriter out = new PrintWriter(socket.getOutputStream(), true); BufferedReader in = new BufferedReader( new InputStreamReader( socket.getInputStream()));
String inputLine, outputLine; out.println("<?xml version='1.0' encoding='ISO-8859-1'?><txnreq><syscode>0101</syscode><sysword>等待数据包</sysword></txnreq>"); out.flush(); boolean a = true; while (a){ System.out.println(in.read()); } 这样的话,用in.read()就可以得到用VC开发的客户端发送过来的信息! 但是,用in.read()的话我们java服务器端还得对发送过来的二进制流进行重新组合! 有没有我们java服务器端用in.readLine()就可以读到VC开发的客户端发送过来的信息的方法?
tabby(-_-! .. 内存泄漏) ,我用的是TCP,不知道啊!现在出现的问题是他给我发送过来的数据我收不到!
还有,有人建议我java服务器端接收数据的程序应该改为接收二进制的方式,而不是用readLine()的方式!
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader( new InputStreamReader( socket.getInputStream()));
String inputLine, outputLine;
out.println("<?xml version='1.0' encoding='ISO-8859-1'?><txnreq><syscode>0101</syscode><sysword>等待数据包</sysword></txnreq>");
out.flush();
while ((inputLine=in.readLine())!=null) {
outputLine = inputLine;
out.println(outputLine);
out.flush();
}
修改后的程序如下:
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader( new InputStreamReader( socket.getInputStream()));
String inputLine, outputLine;
out.println("<?xml version='1.0' encoding='ISO-8859-1'?><txnreq><syscode>0101</syscode><sysword>等待数据包</sysword></txnreq>");
out.flush();
boolean a = true;
while (a){
System.out.println(in.read());
}
这样的话,用in.read()就可以得到用VC开发的客户端发送过来的信息!
但是,用in.read()的话我们java服务器端还得对发送过来的二进制流进行重新组合!
有没有我们java服务器端用in.readLine()就可以读到VC开发的客户端发送过来的信息的方法?