我正在嘗試編寫一個簡單的客戶端服務器,它會向用戶請求回送帶有字符串「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當我嘗試首先得到迴應 –