![](/img/trans.png)
[英]How the server knows the port number of the client in which it will use it to send the responses to the client using java programming socket?
[英]Client server in java not working, what port number to use?
我正在設置一個非常簡單的服務器,只是為了了解套接字在 Java 中的工作方式。 我對應該使用什么端口號和 IP 感到困惑; 服務器和客戶端都運行在同一台計算機上進行測試。
這是我的代碼:對於服務器-
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerTest {
public static void main(String[] args) {
try {
ServerSocket socket = new ServerSocket(8585);
Socket clientSocket = socket.accept();
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String inputLine;
while((inputLine = in.readLine())!=null) {
System.out.println("We received:" + inputLine);
}
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
而對於客戶:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
public class ClientTest {
public static void main(String[] args) {
try {
Socket sock = new Socket(InetAddress.getByName("myipaddress"), 8585);
PrintWriter out = new PrintWriter(sock.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
out.print("Sent this message");
sock.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
“myipaddress”可以設置為 127.0.0.1。 這是本地主機 IP。 對於端口,您可以選擇 1024-49151 范圍內的任何空閑端口。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.