-1
我正在寫下面的Java程序用於在Windows中打開端口。據我所知,無論何時打開一個端口,防火牆都應該要求允許訪問權限。但是這裏沒有暗示它是開放的。背後的原因是什麼?防火牆不要求允許打開端口
mycode的
import java.net.*;
import java.io.*;
class Server
{
public static void main(String[] args) throws Exception
{
if(args.length!=1)
{
System.out.println("Enter the Port Number");
return;
}
int portNumber = Integer.parseInt(args[0]);
ServerSocket ss = new ServerSocket(portNumber);
while(true)
{
Socket socket = ss.accept();
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
String message = (String)ois.readObject();
System.out.println("Client: "+message);
if(message.equals("exit")) break;
ois.close();
}
ss.close();
}
}
您確定防火牆是否在意您是否打開該端口?它不應該將所有的連接請求轉發到端口嗎? –
你的代碼是否拋出異常?如果沒有,你可以與另一端進行溝通,那麼沒有問題。 –
@ThomasStets當我們安裝像ApacheTomcat這樣的服務器時,防火牆將彈出並詢問允許訪問的權限。這就是當我們編寫一個程序來打開/創建應該彈出的端口時我想到的原因。 – KC7