Socket乱码
我用自己的电脑做服务端,又用自己的电脑做客户端。为什么在客户端输入的信息在服务端显示出来是乱码呢?新手刚学到这个,实在解决不了了!
代码:
package day06;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerTest04 {
private ServerSocket server;
public ServerTest04() {
try {
server = new ServerSocket(8088);
} catch (IOException e) {
e.printStackTrace();
}
}
public void start() {
System.out.println("等待连接……");
try {
Socket socket = server.accept();
System.out.println("一个服务器已连接!");
while(true){
InputStream in = socket.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String str =reader.readLine();
System.out.println(str);
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
ServerTest04 server = new ServerTest04();
server.start();
}
}
package day06;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class ClientTest04 {
private Socket socket;
public ClientTest04() {
try {
socket = new Socket("localhost", 8088);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void start() {
Scanner scanner = new Scanner(System.in);
OutputStream out;
try {
while(true){
out = socket.getOutputStream();
PrintWriter writer = new PrintWriter(out);
writer.println(scanner.nextLine());
writer.flush();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
ClientTest04 client = new ClientTest04();
client.start();
}
}
相关推荐
防止Socket传递汉字乱码
防止Socket传递汉字乱码,防止Socket传递汉字乱码
java Socket与C#通信中中文乱码问题的解决方案
近正在做一个项目,其中遇到了一个问题是java与.NET之间的通信问题。具体的问题是这样的: 客户端使用java,服务器端使用的是C#。两者之间使用基于TCP的Socket通信方式。可是,做了一个测试小例子,结果从客户端传过来的都是乱码。于是上网查,希望可以找到解决方法,可是,网上有好多的答案,经过了很多的实验,都不能很好的解决。没办法只能靠自己一点一点的排查了。 经过一番努力,终找到了原因:C#和java的编码方式不同。虽然找到了原因,但是网上关于这个问题的答案也是百家争鸣,在这里给出源代码,希望对大家有帮助。 首先是客户端的java代码(这是比较简单的部分) im
java基础-socket编程控制台没有数据打印以及乱码问题
目录 1.socket 编程控制台没有数据打印 2.打印中文乱码问题 3.附录:完整测试代码 1.socket 编程控制台没有数据打印 在程序运行之前要注意一点,就是server端的测试方法要先让他跑起来。因为只有服务端跑起来才能接收客户端的数据,很简单的一个道理,但是有的时候心急而且没有仔细去思考就会犯先让客户端先运行,或者直接执行外面的测试类。 写了一个客户端和一个服务端的soket通信的两个测试类,然后测试的时候发现控制台没有打印数据。然后直接在server端的输出上打了断点,用debug的方式运行,发现是有数据的,那么为什么没有打印呢?原来是一个很低级的错误,找错打印的控制台了,看的是
编写socket通信,服务器和客户端分别是windows和linux.但是收到的数据不是乱码 什么原因 如何解决.zip
编写socket通信,服务器和客户端分别是windows和linux.但是收到的数据不是乱码 什么原因 如何解决.zip
java socket发送SMTP邮件,支持SSL,支持发附件,抄送且发送的邮件标题内容都无乱码!
java socket发送SMTP邮件,支持SSL,支持发附件,抄送且发送的邮件标题内容都无乱码!


Java SE
