任何人都可以幫助解釋當bind()的socket函數失敗什麼ENOENT的錯誤值意味着什麼?手冊頁說這意味着「該文件不存在」。什麼文件?我試着用一個壞的文件描述符調用bind(),並按照預期將errno設置爲EBADF,所以不是這樣。與errno == ENOENT綁定()錯誤?
回答
這幾乎可以肯定是在你的代碼中的錯誤。如果我不得不猜測,我該怎麼做,我會說你在傳遞的地址中綁定了一個錯誤的UNIX套接字路徑。
也有可能出錯的代碼不是從綁定來 - 檢查你的線程安全。
不幸的是,我不能發佈實際的代碼。它分佈在一個面向對象的大型系統中的4個課程中。我試着傳遞一個明確的錯誤地址來綁定並獲得EFAULT。傳遞一個錯誤的大小(第三個參數)給EINVAL。我還找到了內核源代碼,並且無法找到任何bind()代碼可能返回ENOENT的地方。 – 2010-08-05 12:40:06
啊,明白了 - 回答編輯。這其實是個問題:-)。抱歉,花了這麼長時間才弄明白。 – Borealid 2010-08-05 14:57:01
發現問題,但仍不明白ENOENT來自哪裏。說來話長,但我們使用了錯誤的IP地址進入該bind()的調用,它應該設置errno EADDRNOTAVAIL。所以ENOENT就把我送走了。謝謝你一直在鼓勵我的想法。 :) – 2010-08-05 16:11:44
- 1. 移動文件時出錯(Errno :: ENOENT)
- 2. Mac npm錯誤與ENOENT
- 3. Errno :: ENOENT in Devise :: RegistrationsController#update
- 4. 錯誤:34,代碼:'ENOENT'
- 5. Rails的第一個應用程序錯誤 - Errno :: ENOENT
- 6. child_process.spawn ENOENT錯誤
- 7. 錯誤1005 errno:150與mysql
- 8. 綁定套接字與errno失敗88
- 9. ImageMagick的ENOENT錯誤
- 10. 錯誤與綁定變量
- 11. 意外錯誤error_class = errno的:: EADDRINUSE錯誤=#<errno的:: EADDRINUSE:地址已在使用 - 綁定(2)爲 「0.0.0.0」 端口24224
- 12. Sinatra Errno :: ENOENT - 找不到文件
- 13. 爲什麼getcwd失敗errno ENOENT
- 14. Errno :: ENOENT無故障啓動後
- 15. NodeJitsu錯誤:錯誤:ENOENT,stat'/ opt/run/snapshot/
- 16. 節點JS錯誤:ENOENT
- 17. Flask Git Enoent產生錯誤
- 18. 錯誤:ENOENT,打開「空/ 60c0f337f3413edbc5eb3bb27fa3269f」
- 19. 節點FS ENOENT錯誤
- 20. 錯誤:產卵npm ENOENT
- 21. ReactNative - 錯誤:產卵CMD.EXE ENOENT
- 22. 錯誤:ENOENT,STAT 'C:\ main.html中'
- 23. Node.JS託管基本網頁錯誤:ENOENT
- 24. 串行器中的ENOENT錯誤
- 25. 綁定錯誤
- 26. ionic2科爾多瓦安裝錯誤 - ENOENT
- 27. 綁定錯誤與ListView,UserControl,DependencyProperty,ObservableCollection,INotifyPropertyChanged
- 28. Boost與asio ::佔位符綁定::錯誤
- 29. 綁定與jQuery,錯誤的順序?
- 30. Heroku的 「錯誤:重生ENOENT」 的混帳推錯誤
看到http://linux.die.net/man/2/bind正確的形式,把它比作你的,後你有什麼,如果你不能弄清楚爲什麼你不工作 – KevinDTimm 2010-08-04 18:16:00