c – 在boost :: asio :: ip :: tcp :: socket上设置非阻塞时出现错误文件描述符错误

c – 在boost :: asio :: ip :: tcp :: socket上设置非阻塞时出现错误文件描述符错误,第1张

概述我是新手,我一直在尝试使用boost :: asio.问题是我在设置一些选项时总是会遇到“错误文件描述符”错误/异常(我需要将其设置为非阻塞).即便这样也失败了: #include <boost/asio.hpp>using boost::asio::ip::tcp;int main( ){ boost::asio::io_service io_service; tcp::so @H_404_4@ 我是新手,我一直在尝试使用boost :: asio.问题是我在设置一些选项时总是会遇到“错误文件描述符”错误/异常(我需要将其设置为非阻塞).即便这样也失败了:

#include <boost/asio.hpp>using boost::asio::ip::tcp;int main( ){  boost::asio::io_service io_service;  tcp::socket socket( io_service );  boost::asio::socket_base::non_blocking_io option(true);  socket.io_control( option );  return 0;}

在运行期间d出:

terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error> >'  what():  Bad file descriptor

当我尝试了一切时,这真的令人沮丧.如果重要, *** 作系统是linux x64.

@H_404_4@解决方法 您调用了套接字构造函数 does not open套接字.您可以在调用socket :: io_control()之前使用其他一个打开套接字的重载,或者显式打开套接字.

boost::asio::ip::tcp::socket socket(io_service);socket.open(boost::asio::ip::tcp::v4());
@H_404_4@ @H_404_4@ @H_404_4@ @H_404_4@ 总结

以上是内存溢出为你收集整理的c – 在boost :: asio :: ip :: tcp :: socket上设置非阻塞时出现错误文件描述符错误全部内容,希望文章能够帮你解决c – 在boost :: asio :: ip :: tcp :: socket上设置非阻塞时出现错误文件描述符错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1213489.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存