Socket乱码

勿视人非 勿视人非 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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传递汉字乱码

chinafjfzlj

java Socket与C#通信中中文乱码问题的解决方案

近正在做一个项目,其中遇到了一个问题是java与.NET之间的通信问题。具体的问题是这样的:   客户端使用java,服务器端使用的是C#。两者之间使用基于TCP的Socket通信方式。可是,做了一个测试小例子,结果从客户端传过来的都是乱码。于是上网查,希望可以找到解决方法,可是,网上有好多的答案,经过了很多的实验,都不能很好的解决。没办法只能靠自己一点一点的排查了。   经过一番努力,终找到了原因:C#和java的编码方式不同。虽然找到了原因,但是网上关于这个问题的答案也是百家争鸣,在这里给出源代码,希望对大家有帮助。   首先是客户端的java代码(这是比较简单的部分) im

weixin_38645373

java基础-socket编程控制台没有数据打印以及乱码问题

目录 1.socket 编程控制台没有数据打印 2.打印中文乱码问题 3.附录:完整测试代码 1.socket 编程控制台没有数据打印 在程序运行之前要注意一点,就是server端的测试方法要先让他跑起来。因为只有服务端跑起来才能接收客户端的数据,很简单的一个道理,但是有的时候心急而且没有仔细去思考就会犯先让客户端先运行,或者直接执行外面的测试类。 写了一个客户端和一个服务端的soket通信的两个测试类,然后测试的时候发现控制台没有打印数据。然后直接在server端的输出上打了断点,用debug的方式运行,发现是有数据的,那么为什么没有打印呢?原来是一个很低级的错误,找错打印的控制台了,看的是

weixin_38719643

编写socket通信,服务器和客户端分别是windows和linux.但是收到的数据不是乱码 什么原因 如何解决.zip

编写socket通信,服务器和客户端分别是windows和linux.但是收到的数据不是乱码 什么原因 如何解决.zip

lj_70596

java socket发送SMTP邮件,支持SSL,支持发附件,抄送且发送的邮件标题内容都无乱码!

java socket发送SMTP邮件,支持SSL,支持发附件,抄送且发送的邮件标题内容都无乱码!

Kingtrap
评论 8
收藏 已收藏
分享
返回顶部
勿视人非
Java SE 62,620 成员 307,251 内容