gpt4 book ai didi

客户端和服务器端的 Java 套接字问题

转载 作者:行者123 更新时间:2023-12-01 13:19:25 25 4
gpt4 key购买 nike

我在比较从客户端发送到服务器的字符串时遇到问题。我试图从客户端读取消息“HELLO”,然后从服务器返回“hello”。我的问题是,当我到达服务器类中的 if 语句时,我总是点击 else 。我相信我无法理解哪些行正在收集数据或只是打印。同时要做一些研究,我想学好这个。知道为什么吗,提前谢谢您?

服务器类别:

import java.io.*;
import java.net.*;

public class Server {

public static void main(String[] args) throws Exception
{
Server myServer = new Server();
myServer.run();
}

public void run() throws Exception
{

//Initializes the port the serverSocket will be on
ServerSocket serverSocket = new ServerSocket(4200);
System.out.println("The Server is waiting for a client on port 4200");
//Accepts the connection for the client socket
Socket socket = serverSocket.accept();

InputStreamReader ir = new InputStreamReader(socket.getInputStream());
BufferedReader br = new BufferedReader(ir);
String message = br.readLine();
//Confirms that the message was received
System.out.println(message);

if(message == "HELLO")
{
PrintStream ps = new PrintStream(socket.getOutputStream());
ps.println("Received our hello message.");
}
else
{
PrintStream ps = new PrintStream(socket.getOutputStream());
ps.println("Did not receive your hello message");
}
}

}

客户端类:

import java.io.*;
import java.net.*;

public class Client {

public static void main(String[] args) throws Exception
{
Client myClient = new Client();
myClient.run();
}

public void run() throws Exception
{
Socket clientSocket = new Socket("cmps329.csit.selu.edu", 4200);
//Sends message to the server
PrintStream ps = new PrintStream(clientSocket.getOutputStream());
ps.println("HELLO");
//Reads and displays response from server
InputStreamReader ir = new InputStreamReader(clientSocket.getInputStream());
BufferedReader br = new BufferedReader(ir);
String message = br.readLine();
System.out.println(message);
}

}

最佳答案

使用

if (message.equals("HELLO"))

参见How do I compare strings in Java?为什么。

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

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