任何人都可以帮助解释当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错误Ruby应用程序
- 2. rubyXL(Errno :: ENOENT)
- 3. Errno :: ENOENT Rails 3.1.1
- 4. i18next错误:ENOENT
- 5. 移动文件时出错(Errno :: ENOENT)
- 6. 错误ENOENT与HTML-PDF phantomjs
- 7. Mac npm错误与ENOENT
- 8. Errno :: ENOENT in Devise :: RegistrationsController#update
- 9. Errno :: ENOENT在ArtsController#创建
- 10. readlink将errno设置为ENOENT
- 11. 错误:34,代码:'ENOENT'
- 12. 错误的Ruby on Windows 7的变量Errno :: ENOENT:
- 13. Rails的第一个应用程序错误 - Errno :: ENOENT
- 14. child_process.spawn ENOENT错误
- 15. fs.createWriteStream错误:ENOENT
- 16. 错误1005 errno:150与mysql
- 17. jruby gem安装错误或任何宝石:“错误:执行宝石时...(Errno :: ENOENT)”
- 18. node.js的fs.rename()错误ENOENT
- 19. ruby gem更新错误Enoent
- 20. 绑定套接字与errno失败88
- 21. 菌种ENOENT错误安装
- 22. ENOENT localhost:3306错误
- 23. Spawn ENOENT错误 - NodeJS
- 24. ImageMagick的ENOENT错误
- 25. 错误与绑定变量
- 26. npm ERR!错误:产卵ENOENT
- 27. 意外错误error_class = errno的:: EADDRINUSE错误=#<errno的:: EADDRINUSE:地址已在使用 - 绑定(2)为 “0.0.0.0” 端口24224
- 28. Errno :: ENOENT无故障启动后
- 29. 为什么getcwd失败errno ENOENT
- 30. Sinatra Errno :: ENOENT - 找不到文件
看到http://linux.die.net/man/2/bind正确的形式,把它比作你的,后你有什么,如果你不能弄清楚为什么你不工作 – KevinDTimm 2010-08-04 18:16:00