gpt4 book ai didi

java - 服务器-客户端 Java

转载 作者:行者123 更新时间:2023-11-30 07:24:23 26 4
gpt4 key购买 nike

我用Java编写了一个基本的服务器和客户端程序,当你启动服务器而不是客户端时,如果用户输入密码“root”并且我将该值保存为密码,它就会连接两者,并且我正在尝试做到这一点,当连接在服务器端启动时,它输出的“密码是”而不是密码的值,但是每次我运行它时,程序都会输出“密码为空”,为什么它给我这个?我将字符串更改为静态,但它仍然给我空值,请帮忙解释一下??

服务器端代码

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;


public void lookForConnection(){
Socket connection;
clientMethod cM = new clientMethod();
{
try
{
System.out.print("Program running...");
ServerSocket serverSocket = new ServerSocket(6789);
while(true)
{
connection = serverSocket.accept();
System.out.println("Connected Succesfully!");
System.out.println(connection.getInetAddress().getHostName());
System.out.println("The password for this connection is " + cM.password);
}
}
catch(IOException ex)
{
System.out.println (ex.toString());

}

}
}

客户端代码

import java.io.EOFException;
import java.util.Scanner;
import java.io.IOException;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;

public class clientMethod {
public String serverIP;
public String password;
public Socket connection;
public void Client(String host)
{
serverIP = host;
}
public void startRunning() {
try{
Scanner console = new Scanner(System.in);
System.out.print("Please provide the admin password: ");
password = console.next();
if(password.compareTo("root") == 0 ) {
connectToServer();
//}
}
}
catch(EOFException eofException){
System.out.print("\n Client terminated the connection");
}
catch(IOException ioException) {
ioException.printStackTrace();
}
}
private void connectToServer() throws IOException {
System.out.println("Attempting connection...");
connection = new Socket(InetAddress.getByName(serverIP), 6789);
System.out.println("Connected to " + connection.getInetAddress().getHostName());

}
}

最佳答案

可能是因为您从未将密码发送到服务器,所以您只打印从未设置的本地变量cM的变量password的值,因此它是null 是肯定的。

检查this tutorial了解如何将数据发送到服务器,但基本上的想法是使用从 Socket#getOutputStream() 获得的 OutputStream 从客户端写入数据,它将将数据发送到服务器,然后从服务器中通过 Socket#getInputStream() 读取数据。

关于java - 服务器-客户端 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37006887/

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