这个是从客户端向服务器断写数据
class Write2Server extends Thread{
OutputStream out;
public Write2Server(OutputStream out){
this.out=out;
}
@Override
public void run() {
while(true){
Scanner scanner=new Scanner(System.in);
String time=new SimpleDateFormat("yyyy-MM-dd hh:mm").format(new Date(System.currentTimeMillis()));
try {
out.write(("client"+"\t"+time+"\n"+scanner.nextLine()).getBytes());
out.write('\n');
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
这个是服务器端的读取
class ReadFromClient extends Thread{然后问题就是在客户端输入中文,在服务端就乱码了,小菜一个,望大度赐教你这个肯定上乱码,发送端把字符都转换成字节了,接收端应该把字节再组装成字符,之后再输出。
InputStream in;
public ReadFromClient(InputStream in){
this.in=in;
}
public void run() {
int b;
try{
while((b=in.read())!=-1){
System.out.write(b);
}
}catch(Exception e){
}
}
}
楼主直接把字节一个一个输出,遇到汉字,就是乱码了。那应该怎么做呀,我按着书上说的自己先顶,怎么没人嘞,