过去两天我一直在努力解决这个问题。
我应该在eclipse中为我的计算机网络类设置一个客户端/服务器java,但关键是我们从未在java中编码,过去一周我们强迫我们使用rushlearn java。
控制台上的我写了: 注册或登录
如何检查字符串上的第一个单词,如果它等于寄存器存储在hashmap中的用户名和密码,如果等于login,则检查hashmap以进行比较?
到目前为止,这是我的代码:
SERVER:
import java.io.*;
import java.net.*;
import java.util.HashMap;
import java.util.List;
public class TCPServer {
public static void main(String argv[]) throws Exception
{
String clientSentence;
String capitalizedSentence;
HashMap<List<String>, List<String>> userMap = new HashMap<List<String>, List<String>>();
ServerSocket welcomeSocket = new ServerSocket(5201);
while (true) {
Socket connectionSocket = welcomeSocket.accept();
BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
clientSentence = inFromClient.readLine();
capitalizedSentence = clientSentence.toUpperCase() + '\n';
outToClient.writeBytes(capitalizedSentence);
}
}
}
客户端
import java.io.*;
import java.net.*;
public class TCPClient {
public static void main(String argv[]) throws Exception
{
String sentence;
String modifiedSentence;
BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
Socket clientSocket = new Socket("localhost", 5201);
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
sentence = inFromUser.readLine();
outToServer.writeBytes(sentence + '\n');
modifiedSentence = inFromServer.readLine();
System.out.println("FROM SERVER: " + modifiedSentence);
inFromUser = new BufferedReader(new InputStreamReader(System.in));
clientSocket.close();
}
}
我该如何从现在开始? 提前谢谢
答案 0 :(得分:0)
您首先需要了解此声明的作用。实际上这个函数的参数是做什么的:
public static void main(String argv [])
在控制台中输入login,argv [0]将登录。 如果输入register,argv [0]将会注册。
如果你输入注册登录,当你运行程序时在控制台中,那么argv [0]将有注册,arvg [1]将有登录。
提示:
if(argv[0].equals("register")){
} else if(argv[0].equals("login")){
}else{
System.out.println("Please enter correct option");
System.exit(0);
}
因此,根据参数,您可以将代码定向到您想要的位置。