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 {
}
}
}
以上就是长沙家政网小编今天的分享了,希望可以帮助到大家。
家电上门维修
- apple官方售后维修中心 芜湖apple官方售后维修中心
- 24小时上门修手机 闪修侠上门维修电话
- 戴尔电脑售后维修服务中心 戴尔笔记本电脑售后
- 北京上门维修电脑服务 北京上门维修电脑服务电
- apple官方售后维修点查询 apple官方售后维修点查询
- 24小时上门维修电话 宿州爱玛24小时上门维修电话
- 创维电视维修 创维电视维修收费标准
- 宝珀售后维修中心服务 宝珀售后维修中心服务内
- 24小时上门维修水电电话 附近上门水电维修电话
- 宝玑维修费用 宝玑维修费用多少钱
- 联想电脑售后维修服务网点 上海联想电脑售后维
- 维修变速箱费用多少钱 维修瑞虎8变速箱费用多少
- 雅典维修点:雅典维修点过年放假文案
- 微软surface维修服务中心 surface官方维修中心地址
- 江诗丹顿售后维修中心电话 江诗丹顿官方售后网
- 雅典售后维修电话 雅典售后维修电话号码