服务器发送一条数据如:
/**
* 获取写句
* @param socket 要获取写对象的socket
* @return 流的写句�
* @throws IOException IO异常
*/
private PrintWriter getWriter(Socket socket) throws IOException {
OutputStream socketOut = socket.getOutputStream();
return new PrintWriter(socketOut, true);
}
writer.println(queryCode);
writer.flush();
客户端接收:
/**
*
* @param socket 要获取读对象的socket
* @return 流的读句�
* @throws IOException IO异常
*/
private BufferedReader getReader(Socket socket) throws IOException {
InputStream socketIn = socket.getInputStream();
return new BufferedReader(new InputStreamReader(socketIn));
}
我在接收数据时发现这样会是乱码,之前本来不想管的,后面发现实在又解决,后面看到一朋友的贴子说;
在服务端默认的编码情况下,JAVA的SOCKET接收需要GBK编码,而C#的接收需要UTF-8编码
所以
应该写成 return new BufferedReader(new InputStreamReader(socketIn,"GBK"));
这样就正常显示了。