java socket发送xml报文
ServerRun.java
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.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 = socket.getInputStream();
// 前8个字节
byte[] b = new byte[8];
is.read(b);
int len = Integer.parseInt(new String(b, "UTF-8")); // 用来填充xml
b = new byte[len];
is.read(b); // 关闭资源
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.net.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>18940916007</phone>\r\n" +
"</xml>";
Socket client = new Socket("127.0.0.1", 3456);
OutputStream out = client.getOutputStream(); byte[] b = xml.getBytes("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');
}
return sb.toString().getBytes();
}
}
注:代码中字符串的拼接
是eclipse自动完成的,我只是从wps ( 其他文本编辑器也可以)里面复制到
String str="copy here";
java socket发送xml报文的更多相关文章
- (转)JAVA socket 进行十六进制报文交互测试
import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io. ...
- Java Socket发送与接收HTTP消息简单实现
在上次Java Socket现实简单的HTTP服务我 们实现了简单的HTTP服务,它可以用来模拟HTTP服务,用它可以截获HTTP请求的原始码流,让我们很清楚的了解到我们向服务发的HTTP消息的结 构 ...
- java socket 发送文件
客户端: package tt; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStrea ...
- 发送xml报文去第三方请求获取xml报文数据
import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; import j ...
- socket发送http报文的疑惑(求高手指点一二)
给8080或80端口的服务端(自己写的serverSocket服务端)发送字符串,此字符串按照http协议拼接而成,既是所谓的http报文.服务端接受成功.如果在报头与消息体之间少了“\r\n\r\n ...
- JAVA对象和XML文档、原来他们之间还有这一出
最近项目开发中遇到一个问题,访问接口不再通过url地址请求的方式,而是 通过socket发送xml格式的报文到指定服务器来进行信息的统一认证.. 因此组装xml格式的报文字符串以及解析服务器返回的xm ...
- java对象与XML相互转化
起因 最近在公司做了一次webservice相关的任务,其中我最敢兴趣的就是webservice接受到XML对应的流以后是如何方便的转化成java对象,而java对象又是如何生成对应的XML的. 目的 ...
- java socket报文通信(三)java对象和xml格式文件的相互转换
前两节讲了socket服务端,客户端的建立以及报文的封装.今天就来讲一下java对象和xml格式文件的相互转换. 上一节中我们列举了一个报文格式,其实我们可以理解为其实就是一个字符串.但是我们不可能每 ...
- java socket报文通信(一)socket的建立
java socket报文通信(一) socket的建立 今天来和大家分享一下java中如何使用socket进行通信.先来啰嗦两句,看看Tcp/ip和udp: TCP是Transfer Contro ...
随机推荐
- [转载]Python注册表信息丢失的解决方案
今天安装Python的模块时,安装失败,提示信息:Python version 2.7 required, which was not found in the registry. 原因在于Pytho ...
- 5.linux目录结构介绍
目录: 1.linux系统的目录结构特点?为何会形成这样的目录结构? 2.基本目录内容详解! 3.重要目录详解! 1.linux系统的目录结构特点? A.Linux系统的目录结构是一棵倒挂的大树,”/ ...
- nginx 转发 由于php语法错误 导致的 50x
server { listen 8008; root /root/php-test; index index.php index.html index.htm ...
- python学习之面向对象(上)
定义了一个Animal类,该类包括了构造函数,私有方法,公有方法,静态方法,属性的方问等 双下划线"__"组成了私有成员的定义约束,其它情况则为公有成员 #_metaclass_= ...
- 最全的Javascript编码规范(推荐)
1.嵌入规则 Javascript程序应该尽量放在.js的文件中,需要调用的时候在页面中以<script src="filename.js">的形式包含进来.Javas ...
- iOS侧滑返回到隐藏导航栏的VC,导航栏会闪现一次
VCA:是一个隐藏导航栏的页面:VCA在ViewWillAppear生命周期函数中设置导航栏隐藏: //隐藏导航栏 [self.navigationController setNavigationBa ...
- Web缓存技术
本章导读 缓存主要是为了提高数据的读取速度.因为服务器和应用客户端之间存在着流量的瓶颈,所以读取大容量数据时,使用缓存来直接为客户端服务,可以减少客户端与服务器端的数据交互,从而大大提高程序的性能. ...
- css处理最后一个li
.relatebar li{width:98px;height:146px;padding:5px;float:left;border-left:1px solid #ccc;} .relatebar ...
- bzoj 4319 cerc2008 Suffix reconstruction——贪心构造
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4319 如果字符集有 5e5 那么大的话,挨个填上去就行了.但只有26个字符,所以要贪心地尽量 ...
- 洛谷 2680 (NOIp2015) 运输计划
题目:https://www.luogu.org/problemnew/show/P2680 因为是最长的时间最短,所以二分! 离线LCA可以知道路径长度.每次只看超过二分值的路径. 原本的想法是遍历 ...

