校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > ServerSocket默認邦定IP實現過程詳解

ServerSocket默認邦定IP實現過程詳解

熱門標簽:云南云電銷機器人招商 長沙回撥外呼系統 400 電話 申請費用 江蘇自動外呼系統一般多少錢 ai電話機器人營銷 山東電信外呼系統靠譜嗎 信貸電銷機器人系統 鸚鵡螺號航海地圖標注時間 比較穩定的外呼系統

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

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

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

在這種情況下,服務器會把此端口綁定到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();
		}
	}
}

此時的打印結果是:

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時打印結果:

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時打印結果:

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,此時使用任何能標記到本臺電腦的IP都可以訪問到8888端口。

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:運城 烏海 亳州 澳門 齊齊哈爾 衡陽 嘉興 拉薩

巨人網絡通訊聲明:本文標題《ServerSocket默認邦定IP實現過程詳解》,本文關鍵詞  ServerSocket,默認,邦定,實現,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ServerSocket默認邦定IP實現過程詳解》相關的同類信息!
  • 本頁收集關于ServerSocket默認邦定IP實現過程詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 开江县| 广宁县| 韩城市| 宜丰县| 堆龙德庆县| 邹城市| 锦州市| 宕昌县| 河西区| 阳山县| 克什克腾旗| 邛崃市| 会同县| 池州市| 南川市| 平泉县| 金坛市| 南昌市| 芦山县| 电白县| 大名县| 涞水县| 仙桃市| 外汇| 四川省| 项城市| 泉州市| 广南县| 叶城县| 阿合奇县| 昆山市| 河东区| 东海县| 海阳市| 临澧县| 会宁县| 普兰店市| 沂南县| 安塞县| 鄂州市| 通江县|