1. 程式人生 > >關於PC可以識別並連線網路,但卻無法訪問問題

關於PC可以識別並連線網路,但卻無法訪問問題

       今天,同學把她的筆記本拿來,說是電腦能連上無線網,自己的電腦卻不能上網,但是其它連線到網路的使用者正常訪問。我沒多想,以為是DNS問題,心想應該很簡單,於是拿來折騰了一番。

      我回到宿舍,連線到我們宿舍的路由器上,準備實驗。

     首先,我需要確定問題。我首先開啟IE,發現不能瀏覽網頁,上面有個網路診斷按鈕,我點選測試能不能診斷出結果,結果不出所料,沒有結果資訊。然後我開啟QQ,發現QQ竟然也不能登入,我排除了DNS設定問題。然後我開啟網路和共享中心對話方塊,如圖1所示:

   

說明網絡卡硬體和驅動等配置並無問題。

       一年多以前,有一位同學曾經因為電腦上不上網找過我,我記得我當時重置了她的電腦網路配置便可以上網了。於是我百度了一下命令:netsh winsock reset 。其實我並不想很快重置她的筆記本,我想深入瞭解一下,觀察異常症狀。我使用了ipconfig /all 命令檢視資訊,結果沒有收穫。我又用流量監管助手查看了一下上下傳的流量,發現流量不少,並且基本相同。然後,我就沒忍住給同學的筆記本重置了網路配置,結果PC上網正常了。

       我很傷心,因為電腦出問題時非常難得的,我打算藉此機會好好了解,結果卻不小心重置了。那麼現在再回來分析網路配置重置命令:netsh winsock reset。

      netsh winsock reset的作用是重置winsock目錄。而winsock則是windows sockets,是windows下的網路程式設計介面,它工作在應用層。

      我們有必要了解應用層。我們知道ISO組織建立了OSI參考模型。OSI參考模型共有七層,由底向上依次為:物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、應用層。應用層下面的各層提供了傳輸服務,但它們並不為使用者工作。由此可知,如果winsock中的配置不當,將導致其開放的API功能不支援,從而使應用程式呼叫API不能正確、成功執行,從而導致電腦中的應用程式不能訪問網路,而作業系統卻知道自己可以訪問網路,於是出現圖1所示現象。