gpt4 book ai didi

java - 为什么我必须输入字母才能连接服务器

转载 作者:行者123 更新时间:2023-12-02 04:56:50 25 4
gpt4 key购买 nike

当我尝试将客户端套接字与服务器连接时,我必须输入一个字母,而它应该会自动连接。服务器已经制作完成,并且可以在没有客户端的情况下正常工作。当我输入字母时,它可以工作,但它应该自动连接。

import java.io.*; 
import java.net.*;
import java.util.Scanner;

public class TCPClient {

public static void main(String[] args) throws IOException {
Scanner scan = new Scanner(System.in);
String input=scan.next();
String text;
BufferedReader inFromUser;
Socket clientSocket;

inFromUser = new BufferedReader(new InputStreamReader(System.in));

clientSocket = new Socket("HH-PC", 4567);

DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));

while(true) {
input = scan.next();
if(input.equals("T")){
outToServer.writeBytes("T\r\n");
System.out.println(inFromServer.readLine());
}
else if(input.equals("S")){
outToServer.writeBytes("S\r\n");
System.out.println(inFromServer.readLine());
}
else if(input.equals("Z")){
outToServer.writeBytes("Z\r\n");
System.out.println(inFromServer.readLine());
}
else if(input.equals("D")){
System.out.println("Write a message");
text=inFromUser.readLine();
outToServer.writeBytes("D "+text + "\r\n");
System.out.println(inFromServer.readLine());
}
else if(input.equals("DW")){
outToServer.writeBytes("DW\r\n");
System.out.println(inFromServer.readLine());
}
else if(input.equals("Q")){
clientSocket.close();
System.out.println("The server is disconnected");
break;
}

}
}

}

最佳答案

线路

String input=scan.next(); 

可能是问题所在。您在一开始就在阅读某些内容,但没有使用该值。

尝试将此行更改为

String input;

关于java - 为什么我必须输入字母才能连接服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28684773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com