<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    狼人
    走在SCJP的路上
    posts - 12,  comments - 14,  trackbacks - 0
    摘自:http://topic.csdn.net/u/20090630/13/f3c5c6cc-020c-48ac-b1b7-df73820746ab.html?33795
    作者:jinxfei

    IP地址的記法:
     
    IP地址由四個(gè)字節(jié)構(gòu)成,為了方便閱讀和書(shū)寫(xiě),每個(gè)字節(jié)用0-255的數(shù)字表示,字節(jié)之間用'.'分割,如: 
    10.10.152.235 
    有時(shí)候我們會(huì)看到這樣的IP: 
    10.10.152.235/24, 
    后面的/24表示子網(wǎng)掩碼,24表示子網(wǎng)掩碼上有24個(gè)1,等價(jià)于255.255.255.0 。 

    IP地址和子網(wǎng)掩碼按位 與,得到的是 網(wǎng)絡(luò)號(hào)(Network ID), 
    剩余的部分是子網(wǎng)內(nèi)的 主機(jī)號(hào)(host ID,當(dāng)然,這個(gè)名字小有問(wèn)題,因?yàn)楝F(xiàn)在有IP的可不僅僅是主機(jī),暫且這么稱呼吧), 


    特殊的IP地址段: 
    127.x.x.x 
    這是大家最熟悉不過(guò)的本地loopback地址,在windows和linux上等價(jià)于localhost。 
    我們習(xí)慣于使用127.0.0.1,實(shí)際上, 
    如果你在命令行下ping 127.0.0.1-127.255.255.254之間的任意地址,結(jié)果都是一樣的,它們是等價(jià)的。 

    正常的網(wǎng)絡(luò)包從ip層進(jìn)入鏈路層,然后發(fā)送到網(wǎng)絡(luò)上, 
    而發(fā)向loopback地址的包,直接在IP層短路了,也就是發(fā)到IP層的包直接被IP層接收了,不再向下發(fā)送。 

    私網(wǎng)地址段: 
    10.x.x.x、192.168.x.x、172.16.x.x~172.31.x.x、169.254.x.x 
    這些私網(wǎng)地址段是不允許出現(xiàn)在Internet上的,主用保留用于企業(yè)內(nèi)部組網(wǎng)使用, 
    這可以在一定程度上緩解IP地址不夠用的問(wèn)題。 
    大型企業(yè)的OA網(wǎng)用10地址段的比較多,因?yàn)檫@是一個(gè)A類地址段,包含的IP很多。 
    小公司用192.168.0地址段的比較多。 
    而169.254則主要是分配給DHCP服務(wù)使用的。 

    保留地址段: 
    128.0.x.x、191.255.x.x、192.0.0.x、233.255.255.x 
    這些地址被保留起來(lái),不做分配且沒(méi)有明確的用途。 

    其它特殊IP: 
    255.255.255.255是全局廣播地址, 
    主機(jī)號(hào)全部為1的地址是子網(wǎng)廣播地址,如:192.168.1.255 
    主機(jī)號(hào)全部為0的地址是代表該子網(wǎng)的網(wǎng)絡(luò)地址,如:192.168.1.0 


    一個(gè)非常特殊的IP:0.0.0.0 
    這個(gè)IP相當(dāng)于java中的this,代表當(dāng)前設(shè)備的IP。 
    我們?cè)趈ava編程中使用ServerSocket做網(wǎng)絡(luò)偵聽(tīng),通常只需要如下代碼: 

    ServerSocket serverSock=new ServerSocket(8888);
    serverSock.accept();

    假如我的主機(jī)ip為:10.10.152.8, 
    用以上代碼做偵聽(tīng),127.0.0.1:8888或者10.10.152.8:8888都可以連上, 
    但大家有沒(méi)有想過(guò)過(guò),這個(gè)ServerSocket到底使用哪個(gè)IP在做偵聽(tīng)? 

    如果我們將以上代碼改成顯式綁定: 

    ServerSocket ss=new ServerSocket();
    String ip
    ="10.10.152.8";
    int port=8888;
    InetSocketAddress addr
    =new InetSocketAddress(ip,port);
    ss.bind(addr);
    ss.accept();

    你會(huì)發(fā)現(xiàn),127.0.0.1:8888是無(wú)法訪問(wèn)的, 
    而如果將ip改成127.0.0.1,那么10.10.152.8:8888是無(wú)法訪問(wèn)的。 

    實(shí)際上,背后的秘密就在與0.0.0.0這個(gè)IP,他可以代表本機(jī)的所有IP地址, 
    但這個(gè)IP并不是真是存在的,我們ping不通它,如果將ip改成0.0.0.0: 

    ServerSocket ss=new ServerSocket();
    String ip
    ="0.0.0.0";
    int port=8888;
    InetSocketAddress addr
    =new InetSocketAddress(ip,port);
    ss.bind(addr);
    ss.accept();

    我們會(huì)發(fā)現(xiàn),這和默認(rèn)行為是一樣的,127.0.0.1:8888或者10.10.152.8:8888都可以連上

    posted on 2009-07-02 16:06 狼人 閱讀(714) 評(píng)論(2)  編輯  收藏 所屬分類: Java

    FeedBack:
    # re: IP和Socket小知識(shí)
    2010-04-23 23:33 | Aemon
    呵呵,樓主的這段話可以解開(kāi)很多人心中關(guān)于Socket端Bind()函數(shù)的疑惑。
    這也就正是SOCKET在服務(wù)端要調(diào)用binds()的原因。
    如果一個(gè)server有多個(gè)IP,且server只想讓某一個(gè)網(wǎng)段的人訪問(wèn),呵呵,這時(shí)候BINDS()就大大有用了。反之只想在自己電腦上開(kāi)個(gè)端口自己用(典型的是socket 本地代理服務(wù)器)就要用到127.0.0.1地址的綁定了,這樣,安全啊。  回復(fù)  更多評(píng)論
      
    # re: IP和Socket小知識(shí)
    2010-07-06 19:39 | 狼人
    @Aemon
    你這么說(shuō),讓我很慚愧。我摘抄的,看最前面的摘自
    作者:jinxfei
    原連接地址http://topic.csdn.net/u/20090630/13/f3c5c6cc-020c-48ac-b1b7-df73820746ab.html?33795  回復(fù)  更多評(píng)論
      

    <2009年7月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章檔案

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲美女视频一区| 国产亚洲精品xxx| 亚洲精品无码永久在线观看男男| 最近2022中文字幕免费视频| 亚洲第一福利网站| 8888四色奇米在线观看免费看| 色婷婷六月亚洲婷婷丁香| 精品一区二区三区免费| 亚洲另类激情综合偷自拍| 久草免费福利资源站| 国产国拍亚洲精品mv在线观看| 另类免费视频一区二区在线观看| 亚洲精品美女久久久久99| 少妇无码一区二区三区免费| 亚洲精品自拍视频| 成年女人免费v片| 香港一级毛片免费看| 亚洲精品老司机在线观看| 精品一区二区三区高清免费观看| 亚洲精品无码高潮喷水在线| 在线免费中文字幕| 亚洲色大18成人网站WWW在线播放 亚洲色大成WWW亚洲女子 | 亚洲Av永久无码精品三区在线| 男女作爱在线播放免费网站| 亚洲第一页在线播放| 国产精品免费一级在线观看| 亚洲黄片手机免费观看| 亚洲永久永久永久永久永久精品| 欧美三级在线电影免费| 少妇亚洲免费精品| 亚洲视频网站在线观看| 免费一级e一片在线播放| 99视频在线观看免费| 亚洲国产美女在线观看| 吃奶摸下高潮60分钟免费视频| 天堂在线免费观看| 自拍日韩亚洲一区在线| 亚洲伊人久久成综合人影院| 1000部无遮挡拍拍拍免费视频观看 | 国产成人精品免费视频软件| 国产午夜成人免费看片无遮挡 |