在乙個非套接字上嘗試了乙個操作

2021-08-23 13:02:34 字數 1229 閱讀 7307

今天給客戶做維護的時候碰到乙個怪問題,客戶機不能通地dhcp得到ip位址,啟用禁用網絡卡後本地連線直接顯示受限制,後來我就手動設定了乙個固定ip,執行cmd ping測試了乙個,可以ping 通公網ip 位址,但是ping網域名稱直接顯示網域名稱無效,請檢查。

對於這種問題我的第一反應就是dns有問題,檢查了dns沒有問題,別人也能正常使用這個dns,難道是hosts檔案出問題了,檢視hosts檔案也沒有問題。暈了.........................

the following error occurred when renewing adapter 本地連線:在乙個非套接字上嘗試了乙個操作

暈倒,還是第一次碰到這種問題,不過還好至少看到了乙個錯誤資訊,使用google了一下,找到解決方法:

以下是引用」部分說明

錯誤:在乙個非套接字上嘗試了乙個操作症狀:

可以登入qq,不能開啟網頁

原因:

如果 winsocks 庫或 tcp/ip 堆疊損壞,則可能會發生此問題。

解決方案:

需要重灌tcp/ip協議

引用「如何重灌tcp/ip協議

1、開始——執行——regedit.exe,開啟登錄檔編輯器,刪除以下兩個鍵(請先備份這兩個鍵值再刪除):

hkey_local_machine\system\currentcontrolset\services\winsock

hkey_local_machine\system\currentcontrolset\services\winsock2

2、用記事本開啟c:\windows\inf\nettcpip.inf檔案,找到:

[ms_tcpip.primaryinstall]

characteristics = 0xa0 <------把此處的0xa0改為0x80 儲存退出

3、開啟本地連線的tcp/ip屬性---新增協議——從磁碟安裝——瀏覽找到剛剛儲存的nettcpip.inf(%winroot%\inf\nettcpip.inf)檔案,然後選擇「tcp/ip協議」(不是選擇那個tcp/ip 版本6)。

經過這一步之後,又返回網路連線的視窗,但這個時候,那個「解除安裝」按鈕已經是可用的了。點這個「解除安裝」按鈕來把tcp/ip協議刪除,然後重啟一次機器。

4、重啟後再照著第3步,重新安裝一次tcp/ip協議便可。

5、再重啟一次,這時應該可以了,可以照著需要,設定一下ip位址。

重啟後檢視本地連線,已經獲取到了ip地地,上網測試,問題解決。

C 無法立即完成乙個非阻擋性套接字操作

今天使用c 的socket做乙個監聽端,同步socket,超時設定為5秒 recv client.receive data client.receivetimeout 5000 執行過程中會出現異常 無法立即完成乙個非阻擋性套接字操作 socket預設情況下即為阻塞模式,見msdn ms help ...

使用socketserver寫乙個套接字程式

使用socketserver寫乙個套接字程式來實現多執行緒,即伺服器端可與多個客戶端進行通話,首先伺服器端程式為 usr bin python coding utf 8 import socketserver class mytcphandle socketserver.baserequesthan...

在必須返回乙個物件時,不要去嘗試返回乙個引用

一旦程式設計師把注意力都轉向了物件傳值方式隱含的效率問題 參見第 20 條 時,許多人都變成了極端的 改革運動者 他們對傳值方法採取斬草除根的態度,在他們不屈不撓追求傳遞引用方式的純粹性的同時,他們也犯下了致命的錯誤 有時候傳遞的引用所指向的物件並不存在。這決不是一件好事情。請看下面的示例,其中的 ...