上一篇文章《Java使用TCP协议获取XML及其处理》(见:http://blog.csdn.net/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 &