<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 兼容IPv4與IPv6的Winsock網(wǎng)絡(luò)編程研究

          兼容IPv4與IPv6的Winsock網(wǎng)絡(luò)編程研究

          作者: 時間:2009-07-15 來源:網(wǎng)絡(luò) 收藏
          4 VC環(huán)境下Daytime協(xié)議的實現(xiàn)
          根據(jù)以上所述,下面開發(fā)一個可同時應(yīng)用于的實現(xiàn)Daytime協(xié)議的程序。該程序基于c/s結(jié)構(gòu),客戶端使用TCP協(xié)議連接到服務(wù)器端,向服務(wù)器發(fā)送請求;服務(wù)器收到請求后,將當(dāng)前的時間發(fā)回客戶端。
          4.1 服務(wù)器端程序設(shè)計
          服務(wù)器端首先啟動,通過調(diào)用socket()建立一個Socket,然后調(diào)用bind()將該Socket和本地網(wǎng)絡(luò)地址聯(lián)系在一起,再調(diào)用listen()使Socket做好偵聽的準(zhǔn)備,并規(guī)定請求隊列的長度,之后就調(diào)用accept()接收連接。連接建立后,服務(wù)器端創(chuàng)建一個通信用的’Sock-et,把當(dāng)前時間發(fā)回給客戶端。最后,在數(shù)據(jù)傳送結(jié)束后,調(diào)用close()關(guān)閉Socket。
          服務(wù)器端設(shè)計過程如下:
          (1)創(chuàng)建服務(wù)器端套接字

          本文引用地址:http://www.ex-cimer.com/article/157984.htm


          (3)監(jiān)聽并接收連接


          4.2 客戶端程序設(shè)計
          客戶端創(chuàng)建一個Socket,并調(diào)用connect()和服務(wù)器建立連接。連接建立后,客戶端等待服務(wù)器返回的當(dāng)前時間。最后,待數(shù)據(jù)傳送結(jié)束后,調(diào)用close()關(guān)閉Socket。
          客戶端設(shè)計過程如下。
          (1)創(chuàng)建客戶端套接字



          5 程序運行后的結(jié)果
          當(dāng)服務(wù)器運行后,可同時在地址監(jiān)聽,客戶端向服務(wù)器發(fā)送請求,服務(wù)器接到請求后,向客戶端返回一個當(dāng)前時間。此實驗達到了預(yù)期效果。
          服務(wù)器端運行結(jié)果如圖1所示。

          6 結(jié) 語
          雖然網(wǎng)絡(luò)已經(jīng)開始實驗性部署,但是網(wǎng)絡(luò)向IPv6網(wǎng)絡(luò)的過渡和互通仍有一定難度,IPv4和IPv6網(wǎng)絡(luò)還需共存一段時間,因此開發(fā)能夠同時支持IPv4和IPv6的網(wǎng)絡(luò)應(yīng)用程序會變得越來越重要。
          在此編寫了一個能夠同時支持IPv4和IPv6協(xié)議的程序,此程序可以方便地進行今后其他應(yīng)用協(xié)議及軟件的移植,需在服務(wù)器端設(shè)計過程(4)及客戶端設(shè)計過程(3)中根據(jù)其具體協(xié)議及軟件進行相應(yīng)改變。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();