簡體   English   中英

C ++:Windows套接字錯誤10013

[英]C++: Windows Socket Error 10013

突然之間,我的PC停止了讓我綁定到套接字。 昨晚工作正常,經過幾個小時的編碼,當我去測試功能時,沒有任何約束。

其他事實:

  • 相同的代碼可在我的其他PC上運行,因此這顯然是我的主要開發機器所獨有的。
  • 綁定到TCP端口8080(應用程序具有微型HTTP服務器)可以正常工作。
  • 我編寫的用於偵聽相同63000范圍端口的其他應用程序在此計算機上也失敗。

這是一些失敗的代碼:

  err = WSAStartup(wVersionRequested, &wsaData);
  if(err == 0)
  {
    aSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    if(aSocket != INVALID_SOCKET)
    {
      SOCKADDR_IN        ReceiverAddr;
      // The IPv4 family
      ReceiverAddr.sin_family = AF_INET;
      // Port no. 63939
      ReceiverAddr.sin_port = htons(iPort);
      // From all interface (0.0.0.0)
      ReceiverAddr.sin_addr.s_addr = htonl(INADDR_ANY);
      err = bind(aSocket, (SOCKADDR*)&ReceiverAddr, sizeof(ReceiverAddr));
      if(err == 0)
      {

我努力了:

  • 禁用我的Windows防火牆(如常見修復建議所示)
  • 禁用Windows Defender
  • 以管理員身份運行應用
  • 重新啟動
  • 禁用/啟用我的網絡驅動程序
  • 重命名有問題的應用程序(如果防火牆設置為禁止)
  • 恢復為該應用的已知良好版本
  • 嘗試我編寫的其他一些已知良好的網絡應用程序(它們也會因10013失敗)
  • 在同一區域嘗試不同的端口
  • 將我的網絡類型從“公共”更改為“家庭”

如果運行netstat ,則沒有其他應用程序使用我嘗試監聽的端口(通常是63000區域內和附近的TCP和UDP端口)。 再次進行netstat快速檢查,當前綁定的最高本地端口為53843。

可以肯定地說,我昨晚安裝的唯一應用程序是Kerbal Space Program,我無法想象它破壞了我的網絡驅動程序。

答案編輯:我的新理論是NetBalancer,因為我剛剛卸載了它,所以在我開始遇到麻煩的時候就已經安裝了它,並且從那以后進行了2天的10013無開發工作。 由於我認為它的掛鈎很深地扎在網絡堆棧中,因此也很有意義。

如果他們回來,將繼續更新此信息...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM