人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

ServerSocket默認邦定IP實現(xiàn)過程詳解

發(fā)布日期:2022-01-30 04:50 | 文章來源:源碼之家

開發(fā)中需要開啟服務(wù)端的時候,本地測試都是直接寫端口,實際環(huán)境也是需要指定要邦定的IP才可以。

因為對于服務(wù)器來說,有時它不止一塊網(wǎng)卡,而我們系統(tǒng)一定是通過指定的IP和端口進行通信的,所以服務(wù)端所使用的IP和端口都需要定義配置文件。

那么在平常測試時,在沒有指定IP的情況下,ServerSocket到底邦定到哪里了?

在這種情況下,服務(wù)器會把此端口綁定到0.0.0.0上面,即在所有IP上面都綁定,即能在每個ip上面收到請求。至于0.0.0.0是什么,這里就不說了。

下面是一個測試程序,通過如下程序即可看到到底是怎么樣的情況:

package test;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
public class Test {
	public static void main(String[] args) throws Exception {
		SocketClient client = new SocketClient();
		new Thread(client).start();
		
		ServerSocket serverSocket = new ServerSocket();
		serverSocket.bind(new InetSocketAddress(8888));
//		serverSocket.bind(new InetSocketAddress("127.0.0.1",8888));
//		serverSocket.bind(new InetSocketAddress("192.168.1.100",8888));
		System.out.println(serverSocket.toString());
		serverSocket.accept();
	}
}
class SocketClient implements Runnable{
	public void run() {
		try {
			Thread.sleep(2000);
			try {
				Socket socket = new Socket("127.0.0.1", 8888);
				System.out.println("127.0.0.1 成功" + socket.toString());
			} catch (Exception e) {
				System.err.println("127.0.0.1 失敗");
			}
			try {
				Socket socket = new Socket("192.168.1.100", 8888);
				System.out.println("192.168.1.100 成功" + socket.toString());
			} catch (Exception e) {
				System.err.println("192.168.1.100 失敗");
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

此時的打印結(jié)果是:

ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=8888]
127.0.0.1 成功Socket[addr=/127.0.0.1,port=8888,localport=59213]
192.168.1.100 成功Socket[addr=/192.168.1.100,port=8888,localport=59214]

使用127.0.0.1時打印結(jié)果:

ServerSocket[addr=/127.0.0.1,port=0,localport=8888]
127.0.0.1 成功Socket[addr=/127.0.0.1,port=8888,localport=59416]
192.168.1.100 失敗

使用192.168.1.100時打印結(jié)果:

ServerSocket[addr=/192.168.1.100,port=0,localport=8888]
127.0.0.1 失敗
192.168.1.100 成功Socket[addr=/192.168.1.100,port=8888,localport=59429]

可以看到默認邦定到的是0.0.0.0,此時使用任何能標(biāo)記到本臺電腦的IP都可以訪問到8888端口。

當(dāng)然,這也不是雙網(wǎng)卡的驗證,因為還是在一個網(wǎng)卡上玩。有條件的可以到刀片機上小測一把。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持本站。

香港快速服務(wù)器

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部