我已编译this example并尝试使用PHP连接到服务器。连接时,它意味着将文本写回客户端。如果我使用PHP读取输出,服务器运行正常 - 如果我不读取输出,有时服务器打印remote_endpoint: Invalid argument
然后停止。有没有解决此问题(如捕获错误)?我想用这个例子编写我自己的服务器,返回一些数据。如果有人连接到它但没有读取输出,我不希望它崩溃。我使用的是Mac OSX 10.8.3,启用了GCC 4.8和C ++ 11。
答案 0 :(得分:1)
如果您希望此服务器捕获异常并继续,请按以下步骤更改main
:
int main()
{
boost::asio::io_service io_service;
tcp_server server(io_service);
while(true)
try
{
io_service.run();
break;
}
catch (std::exception& e)
{
std::cerr << e.what() << std::endl;
}
return 0;
}