我正在尝试编写一个简单的客户端服务器,它会向用户请求回送带有字符串“Response:”的用户请求。Java套接字客户端服务器响应应用程序
他们是类似的问题,我看过,但我无法理解发生了什么。我试图写这个,但不能让它工作。主要是因为我对发生的事情非常困惑。
我已经评论过我的代码,因为我可以尝试解释我认为正在发生的事情。 我不知道是什么问题,当我运行这一点,并进入一个消息我没有得到响应
客户
public class Client {
public void go() {
try {
//Create a Socket with ip and port number
Socket s = new Socket("127.0.0.1", 4242);
//Get input from user
Scanner in = new Scanner(System.in);
System.out.println("Please enter a message");
String clientMessage = in.nextLine();
//Make a printwriter and write the message to the socket
PrintWriter writer = new PrintWriter(s.getOutputStream());
writer.write(clientMessage);
writer.close();
//StreamReader to read the response from the server
InputStreamReader streamReader = new InputStreamReader(s.getInputStream());
BufferedReader reader = new BufferedReader(streamReader);
//Get the response message and print it to console
String responseMessage = reader.readLine();
System.out.println(responseMessage);
reader.close();
} catch (IOException ex) {
Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void main(String[] args) {
Client c = new Client();
c.go();
}
}
服务器
public class Server {
public void go() {
try {
//Make a ServerSocket to listen for message
ServerSocket ss = new ServerSocket(4242);
while (true == true)
{
//Accept input from socket
Socket s = ss.accept();
//Read input from socket
InputStreamReader streamReader = new InputStreamReader(s.getInputStream());
BufferedReader reader = new BufferedReader(streamReader);
String message = reader.readLine();
//get the message and write it to the socket as response
PrintWriter writer = new PrintWriter(s.getOutputStream());
String response = "Response : " + message;
writer.println(response);
writer.close();
}
} catch (IOException ex) {
Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void main(String[] args) {
Server server = new Server();
server.go();
}
}
当客户端充当客户端和服务器时,有点困难,但首先您的客户端和服务器客户端代码使用相同的端口号。大问题。 – jiveturkey
你告诉我们你想要做什么,并且向我们展示了代码,但是你没有告诉我们发生了什么问题。毫无疑问。 “我无法理解正在发生的事情”不是一个问题。 –
@ Mike Nakis当我尝试首先得到回应 –