摘 è¦ï¼šåˆ†æžäº†IPv4å’ŒIPv6å…©ç¨®å®¶é›»å±€åŸŸç¶²çš„çµæ§‹å’Œä¿¡æ¯å®¶é›»çš„æŽ§åˆ¶æ¨¡å¼ï¼Œç ”究了Webæœå‹™ä¸å¯¦ç¾IPv4/IPv6兼容的方法,æå‡ºäº†ä¸€ç¨®å¯¦ç¾ä¿¡æ¯å®¶é›»é 程控制ä¸IPv4/IPv6å…¼å®¹çš„å…·é«”å¯¦ç¾æ–¹æ¡ˆã€‚
é—œéµè©žï¼šIPv4/IPv6; 家電控制; 網絡
0 引言
  隨著ç¾ä»£ä¿¡æ¯æŠ€è¡“和家電控制技術的èžåˆèˆ‡ç™¼å±•,ç¾ä»£å®¶åºä¹Ÿå°‡åŠ å…¥â€œä¿¡æ¯åŒ–ã€è‡ªå‹•化ã€ç¶²çµ¡åŒ–â€çš„行列,“通éŽInterneté 程訪å•由家用電器組æˆçš„局域網â€å·²æˆç‚ºæœªä¾†å®¶åºçš„一個é‡è¦æ¨™å¿—,通éŽWebç€è¦½å™¨å¯¦ç¾é 程控制家電é‹è¡Œå’ŒæŸ¥çœ‹å®¶é›»é‹è¡Œç‹€æ…‹çš„功能也是家電控制發展的一個方å‘。但是,ç¾åœ¨ä½¿ç”¨çš„IPv4,無論從計算機本身的發展,還是從Internetçš„è¦æ¨¡å’Œç¶²çµ¡å‚³è¼¸é€ŸçŽ‡ã€æœå‹™è³ªé‡ï¼ˆQos)ã€å‚³è¼¸å®‰å…¨æ€§ç‰æ–¹é¢ä¾†çœ‹ï¼Œéƒ½å·²ç¶“很ä¸é©ç”¨äº†ï¼Œå…¶ä¸»è¦çš„å•題是:一ã€32bitçš„IP地å€å¾ˆå¿«å°±è¦è€—盡,PDAã€ç„¡ç·šè¨å‚™ã€3Gç§»å‹•é›»è©±ç‰æ–°æŠ€è¡“的應用,使IP地å€çŸç¼ºçš„çŸ›ç›¾æ›´åŠ æ¿€åŒ–ï¼Œç”šè‡³æ±½è»Šã€å†°ç®±éƒ½éœ€è¦ä¸€å€‹å…¨çƒå–®æ’地å€é€£åˆ°Internetä¸åŽ»ï¼ŒIPv4的地å€ç©ºé–“滿足ä¸äº†é€™äº›éœ€æ±‚;二ã€ç¶²çµ¡çš„æœå‹™è³ªé‡ï¼ˆQosï¼‰å’Œå®‰å…¨æ€§é›£ä»¥æ»¿è¶³ç”¨æˆ¶ä¸æ–·å¢žé•·çš„需求。
  IPv6是在1999年完æˆIETFè¦æ±‚çš„å”è°å¯©å®šå’Œæ¸¬è©¦çš„下一代Internetå”è°ï¼Œå®ƒä¿ç•™äº†IPv4許多賴以æˆåŠŸçš„ç‰¹é»žï¼ŒåŒæ™‚具備以下新特性:一ã€å…¨æ–°çš„å ±æ–‡çµæ§‹ï¼Œå ±æ–‡é 包括固定é 部和擴展é 部,使路由器在處ç†å”è°é 時效率更高。二ã€å·¨å¤§çš„地å€ç©ºé–“,128bitçš„IP地å€èƒ½ä½¿ä¸–界上æ¯ä¸€å€‹äººæ“有5.7×1028個IPv6地å€ï¼Œå¹¶ä¸”地å€é…ç½®æ›´åŠ ç°¡åŒ–ã€‚ä¸‰ã€å°Qos更好的支æŒï¼ŒIPv6的包é 䏿œ‰æµæ¨™ç°½å—段,使路由器å¯ä»¥ä¸æ‰“開傳é€çš„內層數據包就å¯ä»¥è˜åˆ¥æµã€‚å››ã€å®‰å…¨æ€§å¥½ï¼Œå¦å¤–,IPv6還支æŒIPSec,具有鄰居發ç¾å”è°ç‰ã€‚
  在網絡今åŽçš„一段發展時間ä¸ï¼ŒIPv4將逿¥è¢«IPv6所å–代,但構建在IPv4或IPv6技術基礎之上的信æ¯å®¶é›»ä»å°‡å…±å˜ã€‚在信æ¯å®¶é›»çš„é 程控制系統ä¸ï¼Œå¯¦ç¾IPv4/IPv6çš„ç„¡ç¸«éŽæ¸¡å’Œå…¼å®¹ä¹Ÿå°‡æ˜¯ä¸€å€‹ç†±é–€ç ”究課題。由于在信æ¯å®¶é›»çš„é 程控制系統ä¸ä¸€èˆ¬éƒ½æœ‰ä¸€å€‹ä¿¡æ¯å®¶é›»æŽ§åˆ¶ä¸å¿ƒé€²è¡Œå®¶é›»å±€åŸŸç¶²çš„組織和管ç†åŠŸèƒ½ï¼Œè€Œä¸”æ˜¯é€šéŽå®¢æˆ¶ç«¯Webç€è¦½å™¨é 程控制家電的é‹è¡Œå’ŒæŸ¥çœ‹å®¶é›»é‹è¡Œçš„狀態。本文在æ¤åŸºç¤Žä¸Šï¼Œåˆ†æžäº†IPv4/IPv6å”è°æ£§å°åŸŸåè§£æžåœ°å€æ ¼å¼è™•ç†æ–¹æ³•的基礎上,æå‡ºå¹¶å¯¦ç¾äº†ä¸€ç¨®é€šéŽåˆå¹¶ä¿¡æ¯å®¶é›»æŽ§åˆ¶ä¸å¿ƒï¼Œå¹¶å¢žåŠ é›™å”è°æ£§å’Œä»£ç†ç‰åŠŸèƒ½å¯¦ç¾ä¿¡æ¯å®¶é›»é 程控制的IPv4/IPv6兼容的方法。
1 ä¿¡æ¯å®¶é›»é 程控制系統的ä¸ç”¨IPv4å”è°æ£§å¯¦ç¾èˆ‡IPV6進程的通信方法
  1.1 ä¿¡æ¯å®¶é›»é ç¨‹æŽ§åˆ¶ç³»çµ±çš„çµæ§‹
[align=center]

圖1ä¿¡æ¯å®¶é›»é ç¨‹æŽ§åˆ¶ç³»çµ±çš„çµæ§‹ç¤ºæ„圖[/align]
  圖1是信æ¯å®¶é›»é ç¨‹æŽ§åˆ¶ç³»çµ±çš„çµæ§‹ç¤ºæ„圖,其ä¸ä¸ŠåŠéƒ¨åˆ†åˆ†åˆ¥æ˜¯IPv4ä¿¡æ¯å®¶é›»é ç¨‹æŽ§åˆ¶ç³»çµ±çš„çµæ§‹å’ŒIPv6ä¿¡æ¯å®¶é›»é ç¨‹æŽ§åˆ¶ç³»çµ±çš„çµæ§‹ï¼Œä¸‹åŠéƒ¨åˆ†æ˜¯å…©è€…å…¼å®¹ç³»çµ±çš„çµæ§‹ã€‚在IPv4å’ŒIPv6ä¿¡æ¯å®¶é›»é 程控制系統ä¸ä¿¡æ¯å®¶é›»é€šéŽç„¡ç·šç¶²çµ¡æŽ¥å…¥é»žçµ„æˆå®¶é›»å±€åŸŸç¶²ï¼Œå¹¶æŽ¥å…¥Internet,而“家電控制ä¸å¿ƒâ€å…·æœ‰ä¸å¿ƒæŽ§åˆ¶åœ°ä½ã€‚
  在IPv4的家電局域網ä¸ï¼Œâ€œå®¶é›»æŽ§åˆ¶ä¸å¿ƒâ€å¯¦è³ªä¸Šæ˜¯ä¸€å€‹æ‡‰ç”¨ç¶²é—œï¼Œå…¶åŠŸèƒ½æ˜¯çµ„ç¹”å®¶é›»å±€åŸŸç¶²ã€é€²è¡Œæ•¸æ“šæ ¼å¼çš„轉æ›ã€ç®¡ç†ç”¨æˆ¶å’Œå®¶é›»ç‰ï¼Œå¯¦ç¾ä¿¡æ¯å®¶é›»é€šéŽä¸€å€‹å…¬æœ‰IPåœ°å€æŽ¥å…¥Internet,并é…置有WWWæœå‹™å™¨ã€Sendmailæœå‹™å™¨ã€é˜²ç«å¢»ç‰ã€‚å…¶ä¸ï¼ŒWWWæœå‹™å™¨ä¸æœ‰è¨ªå•å„個家電的Webé ,å¯ä»¥ä½¿ç”¨æˆ¶é€šéŽWebç€è¦½å™¨é ç¨‹è¨ªå•æ‡‰ç”¨ç¶²é—œï¼Œå¯¦ç¾å°å®¶é›»çš„é 程監控。
  在IPv6的家電局域網ä¸ï¼Œâ€œå®¶é›»æŽ§åˆ¶ä¸å¿ƒâ€èˆ‡ç¶²çµ¡å®¶é›»å…·æœ‰åŒç‰çš„地ä½ï¼Œå…¶åŠŸèƒ½æ˜¯å°å®¶é›»å±€åŸŸç¶²çš„用戶和網絡家電的地å€é€²è¡Œç®¡ç†ï¼ŒåŒæ™‚å°å®¶é›»çš„é›»æºé–‹å•Ÿé€²è¡Œç®¡ç†ï¼Œä¹Ÿå¯ä»¥å°‡å®ƒçœ‹æˆæ˜¯ä¸€å€‹å…·æœ‰ç¶²ç®¡åŠŸèƒ½çš„ç¶²çµ¡å®¶é›»ã€‚çµåˆIPv6å”è°å’Œç¶²çµ¡å®¶é›»çš„特點,考慮到嵌入å¼ç³»çµ±çš„åŠŸèƒ½ä¸æ–·å¢žå¼·ï¼Œè™•ç†èƒ½åŠ›å’Œå˜å„²å®¹é‡ä¹Ÿæœ‰äº†å¾ˆå¤§çš„æé«˜ï¼ŒåŒæ™‚,也為了使家åºç¶²çµ¡ç”¨æˆ¶ä½¿ç”¨ä¿¡æ¯å®¶é›»çš„æ›´æ–¹ä¾¿å’Œæ›´å¯¦ç”¨ï¼Œåœ¨ä¿¡æ¯å®¶é›»çš„åµŒå…¥å¼æŽ§åˆ¶ç³»çµ±ä¸ç›´æŽ¥é…ç½®WWWæœå‹™å™¨ã€Sendmailæœå‹™å™¨ã€é˜²ç«å¢»ç‰ç¶²çµ¡æœå‹™ã€‚å…¶ä¸ï¼ŒWWWæœå‹™å™¨ä¸åŒ…嫿œ‰å®¶é›»è‡ªèº«ç®¡ç†å’ŒæŽ§åˆ¶çš„Webé ,使用戶å¯ä»¥é€šéŽWebç€è¦½å™¨å¯¦ç¾å°å®¶é›»çš„é ç¨‹ç›£æŽ§ï¼Œå¹¶èƒ½éš¨æ™‚èˆ‡å» å®¶äº’å‹•ã€‚
  在兩種信æ¯å®¶é›»éƒ½æœ‰çš„兼容系統ä¸ï¼Œâ€œå®¶é›»æŽ§åˆ¶ä¸å¿ƒâ€å…·æœ‰IPv4家電局域網和IPv6家電局域網“家電控制ä¸å¿ƒâ€çš„é›™é‡åŠŸèƒ½ï¼Œå¹¶å…·æœ‰IPv4/IPv6é›™å”è°æ£§å’ŒIPv4/IPv6地å€è˜åˆ¥åŠŸèƒ½ï¼Œèƒ½æ ¹æ“šç”¨æˆ¶è¨ªå•的目的IP地å€è‡ªå‹•調用IPv4或IPv6çš„å”è°æ£§å’Œä¿¡æ¯å®¶é›»æŽ§åˆ¶ç³»çµ±ã€‚在æ¤å®¶é›»å±€åŸŸç¶²ä¸ï¼ŒIPv4ã€IPv6的信æ¯å®¶é›»èˆ‡â€œå®¶é›»æŽ§åˆ¶ä¸å¿ƒâ€çš„關系和ç¨ç«‹çš„IPv4ã€IPv6家電局域網ä¸çš„關系是一致的,單ç¨ä¾†çœ‹ï¼Œæ²’有改變原來IPv4ã€IPv6å®¶é›»å±€åŸŸç¶²çš„çµæ§‹ã€‚
  1.2 IPv4å”è°æ£§èˆ‡IPV6çš„Webæœå‹™å™¨é€šä¿¡çš„原ç†å’Œæ–¹æ³•
  IPv4çš„Webç€è¦½å™¨ç„¡æ³•訪å•基于IPv6çš„ç¶²é æ˜¯å› 為IPv4應用程åºéƒ½ä½¿ç”¨struct sockaddr_inçµæ§‹é«”å˜å„²æœå‹™å™¨çš„IPv4地å€ï¼ˆ32ä½ï¼‰ï¼Œåœ¨èª¿ç”¨connect函數或者sendto函數的時候,如果指定了一個IPv6地å€ï¼Œè€Œçµæ§‹é«”ä¸in_addr僅僅有4個å—節,無法容ç´IPv6çš„128ä½åœ°å€ï¼Œæ‰€ä»¥ä¸å¯èƒ½é€šéŽå®¢æˆ¶ç«¯IPv4å”è°æ£§èˆ‡IPv6æœå‹™é€²ç¨‹é€šä¿¡ã€‚如果在IPv4çš„Webç€è¦½å™¨ä¸è¨ç½®ä»£ç†ç«¯å£ï¼Œç›¸ç•¶äºŽåœ¨ç€è¦½å™¨å’ŒInternetä¹‹é–“å¢žåŠ äº†ä¸€å±¤è½‰ç™¼æ©Ÿåˆ¶ï¼Œä»£ç†ä¸€æ–¹é¢æˆç‚ºäº†ç€è¦½å™¨ç™¼å‡ºè«‹æ±‚的“æœå‹™å™¨â€ç«¯ï¼Œå¦ä¸€æ–¹é¢åˆä½œç‚ºå®¢æˆ¶ç«¯å‘é 端的æœå‹™å™¨è½‰ç™¼è«‹æ±‚ï¼Œæ—¢ä»£ç†æœå‹™å™¨ä¸€æ–¹é¢è¦æŽ¥å—來自ç€è¦½å™¨çš„TCP連接請求,å¦ä¸€æ–¹é¢åˆå¿…é ˆèƒ½å¤ å‘Webæœå‹™å™¨ç™¼å‡ºTCP連接請求。
  雖然IPv4çš„Webç€è¦½å™¨ç„¡æ³•訪å•基于IPv6的網é ,但是ç€è¦½å™¨åœ¨ä½¿ç”¨socketå‡½æ•¸å»ºç«‹æœ¬åœ°å¥—æŽ¥å£æ™‚,都使用AF_INETåƒæ•¸æŒ‡å®šä½¿ç”¨æœ¬åœ°IPv4å”è°æ£§ï¼Œå¦‚果在具有IPv4/IPv6é›™å”è°æ£§çš„主機上,使用socket函數建立本地接å£çš„æ™‚ï¼Œèƒ½å¤ ä½¿ç”¨AF_INET6標志指定使用IPV6å”è°æ£§ï¼Œå‰‡é€šéŽé€™å€‹å”è°æ£§å°±å¯ä»¥å¯¦ç¾èˆ‡IPV6æœå‹™é€²ç¨‹çš„通信。一旦connect函數建立連接åŽï¼Œç¶²çµ¡é€šä¿¡éƒ½ç°¡åŒ–æˆäº†æ–‡ä»¶çš„讀寫æ“ä½œï¼Œæ¤æ™‚與具體的å”è°æ£§å’ŒIP地å€éƒ½æ²’有關系。但是ç¾åœ¨ä½¿ç”¨çš„客戶端基本上都是IPv4的單å”è°æ£§ï¼Œè€Œä¸”改寫ç€è¦½å™¨æœ¬èº«çš„代碼是ä¸ç¾å¯¦çš„。
  這樣,å¯ä»¥åœ¨â€œå®¶é›»æŽ§åˆ¶ä¸å¿ƒâ€å¢žåŠ ä¸€é …â€œIPv4/IPv6é›™å”è°æ£§çš„ä»£ç†æœå‹™â€åŠŸèƒ½ï¼Œç€è¦½å™¨é€šéŽä»£ç†ç«¯å£çš„è¨ç½®ï¼Œå°‡è«‹æ±‚交給“家電控制ä¸å¿ƒâ€è™•ç†ï¼Œé€šéŽç·¨ç¨‹è™•ç†è®““家電控制ä¸å¿ƒâ€æ ¹æ“šå®¢æˆ¶ç«¯è«‹æ±‚的目的地å€çš„ä¸åŒèª¿ç”¨ç³»çµ±çš„IPv4或IPV6å”è°æ£§ï¼Œåˆ†åˆ¥å¯¦ç¾å®¢æˆ¶ç«¯èˆ‡IPv4或IPV6進程的通信。
2 ä¿¡æ¯å®¶é›»é 程控制ä¸IPv4/IPv6兼容的實ç¾
  2.1 ä¿¡æ¯å®¶é›»æŽ§åˆ¶ä¸å¿ƒä¸ä»£ç†åŠŸèƒ½çš„è¨ç½®å’Œç€è¦½å™¨çš„鏿“‡
  在基于IPv4技術的家電é 程控制系統ä¸ï¼Œä¸€èˆ¬å®¶é›»ç”¨æˆ¶å¯ä»¥ç›´æŽ¥è¼¸å…¥â€œå®¶é›»æŽ§åˆ¶ä¸å¿ƒâ€çš„IP地å€ï¼Œç›´æŽ¥è¨ªå•到信æ¯å®¶é›»åŠå…¶æŽ§åˆ¶/狀態é é¢ã€‚但在基于IPv6的信æ¯å®¶é›»ä¸ï¼Œæ¯å€‹å®¶é›»éƒ½å¯å…·æœ‰è‡ªå·±çš„一個或多個IP地å€ï¼Œç•¶ç„¶ä¹Ÿå¯ä»¥å…·æœ‰åŸŸå。這樣,在考慮信æ¯å®¶é›»é 程控制IPv4/IPv6兼容å•題時,ä¸ä½†è¦è€ƒæ…®ç”¨æˆ¶çš„URL請求直接是IP地å€ï¼Œé‚„è¦è€ƒæ…®ç”¨æˆ¶å°ä¿¡æ¯å®¶é›»æ‡‰ç”¨çš„域åã€‚å› æ¤ï¼Œåœ¨â€œå®¶é›»æŽ§åˆ¶ä¸å¿ƒâ€ä¸é¦–å…ˆè¦æ·»åŠ IPv4/IPv6é›™å”è°æ£§ï¼Œå¹¶ä½¿ä¹‹æˆç‚ºWebä»£ç†æœå‹™å™¨ï¼ŒåŒæ™‚也è¦å…·æœ‰è«‹æ±‚域åè§£æžçš„功能,最åŽï¼Œåˆ¤æ–·åœ°å€çš„æ ¼å¼ï¼Œæ ¹æ“šä¸åŒå”è°åœ°å€èª¿ç”¨å°æ‡‰çš„å”è°æ£§ã€‚
  網絡ä¸å®¢æˆ¶ç«¯Webç€è¦½å™¨çš„代ç†ç«¯å£è¨ç½®ç‚ºâ€œå®¶é›»æŽ§åˆ¶ä¸å¿ƒâ€çš„å°æ‡‰ç«¯å£ï¼Œç€è¦½å™¨å°‡URLä¸è¼¸å…¥çš„內容交給“家電控制ä¸å¿ƒâ€è™•ç†ï¼Œç¶“éŽåŸŸåè§£æžï¼Œå¦‚果是IPv4地å€ï¼Œå‰‡â€œå®¶é›»æŽ§åˆ¶ä¸å¿ƒâ€çš„代ç†ä¸é€²è¡Œè™•ç†ï¼ŒæŒ‰ç…§åŽŸä¾†çš„æ¨¡å¼ç™¼é€è«‹æ±‚;如果是IPv6的地å€ï¼Œå‰‡â€œå®¶é›»æŽ§åˆ¶ä¸å¿ƒâ€çš„代ç†å°‡è«‹æ±‚交給IPv6è™•ç†æ¨¡å¡Šï¼Œèª¿ç”¨ç³»çµ±çš„IPV6å”è°æ£§ï¼Œå¯¦ç¾èˆ‡IPV6的通信。圖2是“家電控制ä¸å¿ƒâ€å°IPv4客戶端的URLè™•ç†æµç¨‹åœ–。
[align=center]

圖2 家電控制ä¸å¿ƒå°URLçš„è™•ç†æµç¨‹åœ–[/align]
  2.2 ç€è¦½å™¨çš„鏿“‡å’Œå¤šURLåŒæ™‚請求的解決方案
ã€€ã€€åœ¨å®¢æˆ¶ç«¯é¸æ“‡ä½¿ç”¨Netscapeç€è¦½å™¨ï¼Œå› ç‚ºåœ¨é€šéŽæ‰‹å‹•è¨ç½®ä»£ç†è¯å…¥Internet 的時,IEè¦å°å…¶URLä¸è¼¸å…¥çš„內容進行語法檢查,而Netscape則完全ä¸ä½œä»»ä½•檢查,把從域åè§£æžåˆ°æ•¸æ“šè½‰ç™¼çš„任務都交給“家電控制ä¸å¿ƒâ€ï¼Œé€™æ¨£ç„¡è«–在URLä¸è¼¸å…¥çš„æ˜¯åŸŸå還是IPv4或IPv6地å€ï¼ŒNetscape都會ä¸åŠ ä»»ä½•æª¢æŸ¥åœ°é€å…¥â€œå®¶é›»æŽ§åˆ¶ä¸å¿ƒâ€ï¼Œæ‰€ä»¥ï¼Œå®¢æˆ¶ç«¯Webæœå‹™çš„æŽ¥å…¥å’Œç€è¦½å·¥å…·é¸æ“‡Netscape。
  由于“家電控制ä¸å¿ƒâ€è¦å°ä¸€å€‹ç€è¦½å™¨çš„多個請求或者多個ç€è¦½å™¨çš„å¤šå€‹è«‹æ±‚åŒæ™‚ä½œå‡ºåæ‡‰ï¼Œåœ¨å…·é«”å¯¦ç¾æ™‚,使用“家電控制ä¸å¿ƒâ€çš„daemonåµè½ç«¯å£ï¼Œä½¿â€œå®¶é›»æŽ§åˆ¶ä¸å¿ƒâ€é‡åˆ°è«‹æ±‚就產生å進程進行處ç†ï¼Œå³é€šéŽsocket函數創建監è½å¥—接å—listenfd,并調用bindå’Œlisten函數將其變æˆä¸€å€‹ç›£è½å¥—接å£ï¼Œä½¿ç³»çµ±å…§æ ¸æŽ¥æ”¶ä¾†è‡ªå®¢æˆ¶çš„連接請求?ï¼å‡¹è¯‘å¨åˆ‚浦行摹é—{用accept函數ç‰å¾…客戶端的連接。當客戶端Webç€è¦½å™¨ç™¼èµ·çš„TCP連接請求轉發到“家電控制ä¸å¿ƒâ€è™•ç†æ™‚,TCPä½¿ç”¨ä¸‰æ¬¡æ¡æ‰‹å»ºç«‹é€£æŽ¥ï¼Œç•¶æ¡æ‰‹å®Œç•¢æ™‚,accept函數返回,其返回值是一個稱為已連接æè¿°å—(connetcted descrIPtor)的新æè¿°å—connfd。“家電控制ä¸å¿ƒâ€ç”¨fork函數為這個æè¿°å—開啟一個å進程,并用æ¤å進程處ç†é€£æŽ¥å’Œé€šä¿¡ï¼ŒåŒæ™‚父進程ä»ä¿æŒç›£è½ç‹€æ…‹ã€‚
  å¦å¤–,在實ç¾â€œå®¶é›»æŽ§åˆ¶ä¸å¿ƒâ€çš„IPv4/IPv6é›™å”è°æ£§ä»£ç†åŠŸèƒ½æ™‚ï¼Œåœ¨è™•ç†ç›£è½å¥—接å£çš„åŒæ™‚,åˆè¦è™•ç†å·²é€£æŽ¥å¥—接å£ï¼Œé‚„è¦è™•ç†å¤šå€‹æè¿°å—,在解決這個å•題時用到了I/O復用技術。在I/O復用ä¸ï¼Œç³»çµ±é˜»å¡žäºŽselect 調用,ç‰å¾…æ•¸æ“šå ±å¥—æŽ¥å£å¯è®€ï¼Œç•¶select返回套接å£å¯è®€æ™‚,系統調用readlineå‡½æ•¸å°‡æ•¸æ“šå ±è®€åˆ°ç·©æ²–å€ä¸ã€‚在連接建立和傳輸éŽç¨‹ä¸ï¼Œâ€œå®¶é›»æŽ§åˆ¶ä¸å¿ƒâ€ç‚ºæ¯ä¸€å¹…圖片和æ¯ä¸€å€‹æ–‡æœ¬æ–‡ä»¶å»ºç«‹ä¸€å€‹æè¿°å—ï¼Œå› æ¤ï¼Œåœ¨selectçš„åƒæ•¸è¨ç½®ä¸è¦ä¿è‰æ¯ä¸€å€‹æè¿°å—都是å¯è®€å–的。
3 測試和çµè«–
  在測試環境ä¸ï¼Œå®¶é›»å±€åŸŸç¶²ç”±â€œå®¶é›»æŽ§åˆ¶ä¸å¿ƒâ€ã€åŸºäºŽIPv4的信æ¯å®¶é›»å’ŒåŸºäºŽIPv6的信æ¯å®¶é›»ã€‚“家電控制ä¸å¿ƒâ€é™¤å…·æœ‰ç”¨æˆ¶ç®¡ç†ã€å®¶é›»ç®¡ç†ã€ä¿¡æ¯æ ¼å¼è½‰æ›ç‰æ¨¡å¡Šå¤–,具有IPv4/IPv6é›™å”è°æ£§ã€Webä»£ç†æœå‹™ã€åŸŸåè§£æžã€IPv4/IPv6地å€è˜åˆ¥ç‰åŠŸèƒ½ã€‚åŸºäºŽIPv4的信æ¯å®¶é›»å’ŒåŸºäºŽIPv6的信æ¯å®¶é›»éƒ½å…·æœ‰Webæœå‹™çš„åŠŸèƒ½ï¼Œå¹¶æœ‰å°æ‡‰çš„æŽ§åˆ¶/狀態é é¢?ï¼Ÿè›»èˆ³æ“žå¬ŽéŠ C是IPv4å”è°æ£§ï¼ŒWebç€è¦½å™¨ä½¿ç”¨Netscape,并將代ç†è¨ç½®ç‚ºâ€œå®¶é›»æŽ§åˆ¶ä¸å¿ƒâ€ã€‚由于使用Netscape作為Webç€è¦½å™¨ï¼Œæ“作系統å‡é¸ç”¨äº†Linux。在測試ä¸ï¼Œé€šéŽå®¢æˆ¶ç«¯å¯¦ç¾äº†å°å…©é¡žå®¶é›»çš„訪å•和控制。
  本文作者創新點是利用信æ¯å®¶é›»å±€åŸŸç¶²ä¸çš„“家電控制ä¸å¿ƒâ€ï¼Œåœ¨ä¸æ”¹è®Šå®¶é›»ç¶²çµ¡çµæ§‹çš„æƒ…æ³ä¸‹ï¼Œé‡å°ä¿¡æ¯å®¶é›»é 程控制æå‡ºå¹¶å¯¦ç¾äº†IPv4/IPv6兼容的一種方法,使基于IPv4的信æ¯å®¶é›»å’ŒåŸºäºŽIPv6的信æ¯å®¶é›»é€šéŽå…·æœ‰IPv4/IPv6é›™å”è°æ£§ã€åŸŸåè§£æžã€åœ°å€çš„è˜åˆ¥å’Œä¸åŒå”è°æ£§èª¿ç”¨ç‰åŠŸèƒ½çš„â€œå®¶é›»æŽ§åˆ¶ä¸å¿ƒâ€èžåˆåœ¨äº†åŒä¸€å€‹å±€åŸŸç¶²ä¸ï¼Œå¾žè€Œæ–¹ä¾¿äº†ç”¨æˆ¶çš„ä½¿ç”¨å’Œå» å®¶çš„é–‹ç™¼åŠç¶è·ã€‚
åƒè€ƒæ–‡ç»ï¼š
  [1] Douglas E.Comer. Internet working with TCP/IP [M]. USA:Preatice-hall,1995
  [2] Gillign R,Nordmark E;RFC1993:Transition Mechanisms for IPv6 Hosts and Routers;1996-04
  [3] Berners-Lee T,Fielding R,Masinter L; RFC2396:Uniform Resource Identifiers;Generic syntax;1998-08
  [4] Deering S,Hinden R; RFC2460:Internet Protocol,Version 6 Specification.1995-12
  [5] Hinden R,Carpenter B,Masinter L; RFC2732:Format for Literal IPv6 Addresses in URL’s;1999-12
  [6] 周紅波;基于Linuxçš„æºä»£ç¢¼é–‹æ”¾ç€è¦½å™¨ [J] ;微計算機信æ¯ï¼Œ2002(5),48~49