服务器:
package com.j0615;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
// 创建服务器
ServerSocket server;
try {
server = new ServerSocket(3444);
System.out.println("-------服务器启动成功-------");
Socket s = server.accept();// 接收客户端的连接
BufferedReader dis = new BufferedReader(new InputStreamReader(
s.getInputStream(), "UTF-8"));
dis.readLine();
PrintWriter ou = new PrintWriter(s.getOutputStream());
ou.write("----------连接成功--------");
ou.flush();
ou.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
客户端:
package com.j0615;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class socket {
public static void main(String[] args) {
try {
Socket s = new Socket("127.0.0.1", 3444);
PrintWriter out = new PrintWriter(s.getOutputStream());
out.write("你好!");
BufferedReader in = new BufferedReader(new InputStreamReader(
s.getInputStream(), "UTF-8"));
in.readLine();
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
结果服务器控制台输出:-------服务器启动成功-------
客户端控制台输出空白:
请问各位大神怎么回事,哪里出错了???代码没报错,
试过了 ,也不行
追答还有一种简单改法,你要在write之后,调用flush。就是在你的client的out.write("你好!”)的后面out.flush(),不然你发送给服务器的时候,client因为没有调用flush,会一直阻塞在那。
追问额,还是不行,不知道错在哪
本回答被网友采纳