javasocket发送xml报⽂ServerRun.java
import java.io.InputStream;
import java.ServerSocket;
import java.Socket;
public class ServerRun {
public static void main(String[] args) throws Exception {
ServerSocket server = new ServerSocket(3456);
System.out.println("-----正在监听3456端⼝---");
Socket socket = server.accept();
InputStream is = InputStream();
// 前8个字节
byte[] b = new byte[8];
int len = Integer.parseInt(new String(b, "UTF-8"));
// ⽤来填充xml
b = new byte[len];
// 关闭资源
is.close();
socket.close();
server.close();
String result = new String(b, "UTF-8");
System.out.println(result);
}
}
ClientRun.java
import java.io.OutputStream;
import java.Socket;
public class ClientRun {
public static void main(String[] args) throws Exception {
String xml = "<xml>\r\n" +
"<name>张⼭</name>\r\n" +
"<amt>100000</amt>\r\n" +
"<time>20171011091230</time>\r\n" +
"<type>⽀出</type>\r\n" +
"<opt>信⽤卡还款</opt>\r\n" +
"<phone>189********</phone>\r\n" +
java valueof"</xml>";
Socket client = new Socket("127.0.0.1", 3456);
OutputStream out = OutputStream();
byte[] b = Bytes("UTF-8");
out.write(int2Bytes8(b.length));
out.write(b);
out.close();
client.close();
}
/**
* @Title: int2Bytes8
* @Description: 数字[2] 变成⼋个字节的 ['0' '0' '0' '0' '0' '0' '0' '2']
* @param: @param num
* @param: @return
* @return: byte[]
*/
public static byte[] int2Bytes8(int num) {
StringBuffer sb = new StringBuffer(String.valueOf(num));
int length = 8 - sb.length();
for (int i = 0; i < length; i++) {
sb.insert(0, '0');
}
String().getBytes();
}
}
注:代码中字符串的拼接
是eclipse⾃动完成的,我只是从wps ( 其他⽂本编辑器也可以)⾥⾯复制到String str="copy here";

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。