[英]Java sockets Client timing out
使用Java套接字,我做了一個簡單的服務器。 之所以有效,是因為每當我在另一台計算機的Web瀏覽器中輸入地址( 192.168.1.68:54321
)時,它都會發送數據。 但是,當我嘗試使用Java套接字連接到服務器時,它超時了。
客戶端連接代碼:
public void connect() throws IOException {
socket = new Socket(ip, port); // times out here
socket.setKeepAlive(true);
in = new ObjectInputStream(socket.getInputStream());
out = new ObjectOutputStream(socket.getOutputStream());
t = new Thread(this);
run = true;
t.start();
}
該問題有什么解決方案?
該問題有什么解決方案?
這取決於問題所在。 但我希望它是以下一項(或多項):
在我看來,最后一次是最有可能的。
(請注意,其中許多問題更有可能導致不同的故障模式;即,立即故障而不是連接超時。但是,這取決於環境的各種細節,其中一些細節可能對環境不透明。您。)
其余的應該不是問題,因為當我使用網絡瀏覽器時,它可以與客戶端在同一台計算機上工作。
你誤會了。 您的Web瀏覽器將無法成功連接到您的服務。 54321上的服務未實現HTTP,因此您的瀏覽器無法從中獲取頁面。
TCP和UDP的防火牆規則通常特定於您嘗試使用的端口。 您的Web瀏覽器可以在(我希望)端口80和443上與服務器對話,這一事實表明,對於其他端口是否可以連接其他端口,一無所知。 而且, 還可能使您的Web瀏覽器配置(或自動配置)為使用Web代理,這更加復雜了,這可能意味着它根本就沒有直接與該主機通信。
鑒於您所說的,很可能是與防火牆相關的問題。 那是我最好的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.