最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ServerSocket默認(rèn)邦定IP實(shí)現(xiàn)過(guò)程詳解

 更新時(shí)間:2020年10月20日 10:41:59   作者:cuisuqiang  
這篇文章主要介紹了ServerSocket默認(rèn)邦定IP實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

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

因?yàn)閷?duì)于服務(wù)器來(lái)說(shuō),有時(shí)它不止一塊網(wǎng)卡,而我們系統(tǒng)一定是通過(guò)指定的IP和端口進(jìn)行通信的,所以服務(wù)端所使用的IP和端口都需要定義配置文件。

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

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

下面是一個(gè)測(cè)試程序,通過(guò)如下程序即可看到到底是怎么樣的情況:

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();
		}
	}
}

此時(shí)的打印結(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時(shí)打印結(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時(shí)打印結(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]

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

當(dāng)然,這也不是雙網(wǎng)卡的驗(yàn)證,因?yàn)檫€是在一個(gè)網(wǎng)卡上玩。有條件的可以到刀片機(jī)上小測(cè)一把。

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

相關(guān)文章

最新評(píng)論

乌鲁木齐市| 尉犁县| 雷山县| 林周县| 彩票| 卢湾区| 胶南市| 德州市| 绥宁县| 清新县| 莲花县| 静海县| 德江县| 辰溪县| 松滋市| 晋城| 彰化县| 历史| 资阳市| 淳安县| 通道| 临颍县| 西和县| 合川市| 青神县| 牙克石市| 玉溪市| 乐至县| 溧阳市| 五家渠市| 湘潭县| 当涂县| 岑巩县| 瓮安县| 陕西省| 淅川县| 岳池县| 中江县| 巴中市| 京山县| 许昌县|