自动冲洗打印词
我正在使用Java接线客户/服务器程序,并且启用了自动冲洗,但是我的代码有一个错误,当我将第一封消息从客户端发送到服务器时,没有来自服务器的响应,但是在那之后一切都还好。这些是我的代码:
客户端
public class Client1 {
public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
try {
Socket socket = new Socket("localhost",5000);
BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter output = new PrintWriter(socket.getOutputStream(), true);
Scanner scanner = new Scanner(System.in);
while (true) {
if (socket.getInputStream().available() != 0) {
String in = input.readLine();
System.out.println(in);
}
System.out.println("Enter your message to the server: ");
String out = scanner.nextLine();
output.println(out);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}
服务器
public class Main {
public static void main(String[] args) throws IOException {
new Thread(new Runnable() {
@Override
public void run() {
try {
ServerSocket serverSocket1 = new ServerSocket(5000);
Socket socket1 = serverSocket1.accept();
System.out.println("Accepted");
BufferedReader input = new BufferedReader(new InputStreamReader(socket1.getInputStream()));
PrintWriter output = new PrintWriter(socket1.getOutputStream(), true);
while (true) {
if (socket1.getInputStream().available() != 0) {
String text = input.readLine();
System.out.println("got it!");
output.println("We got your message!");
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}
可以帮助我吗?谢谢
I am wiring a client/server program with Java and I enable auto flush but my code has a bug, when I send first message from client to server, no response comes from server but after that everything is ok. These are my codes :
Client
public class Client1 {
public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
try {
Socket socket = new Socket("localhost",5000);
BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter output = new PrintWriter(socket.getOutputStream(), true);
Scanner scanner = new Scanner(System.in);
while (true) {
if (socket.getInputStream().available() != 0) {
String in = input.readLine();
System.out.println(in);
}
System.out.println("Enter your message to the server: ");
String out = scanner.nextLine();
output.println(out);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}
Server
public class Main {
public static void main(String[] args) throws IOException {
new Thread(new Runnable() {
@Override
public void run() {
try {
ServerSocket serverSocket1 = new ServerSocket(5000);
Socket socket1 = serverSocket1.accept();
System.out.println("Accepted");
BufferedReader input = new BufferedReader(new InputStreamReader(socket1.getInputStream()));
PrintWriter output = new PrintWriter(socket1.getOutputStream(), true);
while (true) {
if (socket1.getInputStream().available() != 0) {
String text = input.readLine();
System.out.println("got it!");
output.println("We got your message!");
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}
Can somebody help me? Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论