java socket中文乱码
java socket中文乱码怎么解决呢?不知道的小伙伴来看看趣谈网小编今天的分享吧!
可以使用代码
in = ne BufferedReader(ne InputStreamReader(socket.getInputStream(),"UTF-8"));
out = ne BufferedWriter(ne OutputStreamWriter(socket.getOutputStream(),"UTF-8"));
示例
解决前
import java.io.;
import java..;
public class SocketServerEx1 {
public static void main(String args[]) {
System.out.println("Server");
ServerSocket serverSocket = null;
Socket clientSocket = null;
int connects = 0;
try {
serverSocket = ne ServerSocket(82, 5); //端口82,最大链接数5
//最多连接10次
hile(connects < 10) {
connects++;
System.out.println("--------------------等待连接--------------------------");
clientSocket = serverSocket.aept(); //等待连接
System.out.println("第 " + connects + " 次连接");
ServiceClient(clientSocket);
}
serverSocket.close();
} catch(IOException ioe) {
System.out.println("Error: " + ioe);
}}
public static void ServiceClient(Socket client) thros IOException {
System.out.println("已链接");
InputStreamReader inSR = null;
OutputStreamWriter outSW = null;
try {
//读取数据
inSR = ne InputStreamReader(client.getInputStream(), "UTF-8");
BufferedReader br = ne BufferedReader(inSR);
outSW = ne OutputStreamWriter(client.getOutputStream(), "UTF-8");
BufferedWriter b = ne BufferedWriter(outSW);
String str = "";
hile((str = br.readLine()) != null) {
str = str.trim();
System.out.println("收到客户端消息" + str);
b.rite("已收到信息" + str + " \r\n"); //向客户端反馈消息,加上分行符以便客户端接收
b.flush();
}
} finally {
//System.out.println("Cleaning up connection: " + client);
inSR.close();
outSW.close();
client.close();
}
System.out.println("已断开");
}
}
解决后
import java.io.;
import java..;
public class SocketClientEx1 {
public static void main(String[] args) {
System.out.println("Client");
try {
Socket clientSocket = ne Socket("localhost", 82);
System.out.println("Client1:" + clientSocket);
DataInputStream dataIS = ne DataInputStream(clientSocket.getInputStream());
InputStreamReader inSR = ne InputStreamReader(dataIS, "UTF-8");
BufferedReader br = ne BufferedReader(inSR);
DataOutputStream dataOS = ne DataOutputStream(clientSocket.getOutputStream());
BufferedWriter b = ne BufferedWriter(outSW);
//输入信息
byte bytes[] = ne byte[100];
hile(true) {
System.out.println("----------------------------------");
System.in.read(bytes);
String str = ne String(bytes);
str = str.trim();
if (str == "exit") {
break;
}
//发送数据
b.rite(str + "\r\n"); //加上分行符,以便服务器按行读取
b.flush();
//接收数据
hile((str = br.readLine()) != null) {
str = str.trim();
System.out.println("服务器回复" + str);
break;
}
}
inSR.close();
dataIS.close();
dataOS.close();
clientSocket.close();
} catch(UnknonHostException uhe) {
System.out.println("Error:" + uhe.getMessage());
} catch(ConnectException ce) {
System.out.println("Error:" + ce.getMessage());
} catch(IOException ioe) {
System.out.println("Error:" + ioe.getMessage());
} finally {
}
}
}
以上就是趣谈网小编今天的分享了,希望可以帮助到大家。
怪事奇闻
- 全球奇闻异事未解之谜网 世界奇闻网
- 全球奇闻异事未解之谜 全球奇闻异事未解之谜在
- 全球公认的十大灵异事件 震惊全球十大灵异事件
- 全国真实灵异事件 全国真实灵异事件最新
- 亲身经历的真实灵异事件 经历的灵异事件绝对真
- 亲身经历的真实灵异故事 亲身经历的真实灵异故
- 乔四爷玩过的女人 乔四爷原名
- 敲门一般敲几下是鬼 敲门一般敲几下是鬼是真的
- 起死回生的主人公是谁 起死回生的典故主人公
- 奇闻异事文案素材1000例 民间故事奇闻异事
- 每日趣闻趣事新闻 新闻趣事日记
- 每日奇闻趣事小故事 奇闻趣事2021
- 罗布泊双鱼玉佩事件 罗布泊双鱼玉佩事件潜艇什
- 柳岩婚礼发生了什么 柳岩参加婚礼事件
- 刘伯温预言难过猪鼠年 刘伯温预言准吗
- 灵异之校园鬼魂 灵异之校园鬼魂小说