上一篇文章《Java使用TCP协议获取XML及其处理》(见:http://blog.youkuaiyun.com/softwave/article/details/8947771)中,介绍了用Java模拟Socket服务器端,与客户端进行TCP通讯的例子。今天在现场中,客户使用C#制作的服务器端,与我们Java的客户端通讯出现了一个小问题,就是双方发送的XML信息出现乱码现象,客户端向服务器发送的请求信息头出现“/0”等乱字符,服务器端响应给客户端的XML中的中文出现乱码。我们考虑应该是编码不一致造成的问题,统一采用UTF-8编码。所以对上一篇文章中的代码进行了修正。
protected void onBoReadNoTest() throws Exception {
Socket soc = null;
String data = "";
InetAddress addr = InetAddress.getByName("127.0.0.1");
int serverPort = 1111;
if (addr.isReachable(5000)) {
System.out.println("SUCCESS - ping " + addr
+ " with no interface specified");
try {
soc = new Socket(addr, serverPort);
System.out.println("Socket Success!");
DataInputStream in = new DataInputStream(soc.getInputStream());
DataOutputStream out=new DataOutputStream(soc.getOutputStream());
String str =

本文是《Java使用TCP协议获取XML及其处理》的续篇,描述了在Java TCP客户端与C#服务器端通讯时遇到的XML乱码问题。问题表现为请求头出现“/0”乱字符,服务器响应的XML中文乱码。解决方案是统一采用UTF-8编码以解决编码不一致导致的问题。
最低0.47元/天 解锁文章
171万+

被折叠的 条评论
为什么被折叠?



