我正在尝试从boost :: asio运行SSL示例,当我运行它时,我得到一个"无效参数"异常.我在Linux x86_64上.
http://www.boost.org/doc/libs/1_46_1/doc/html/boost_asio/example/ssl/client.cpp
http://www.boost.org/doc/libs/1_46_1/doc/html/boost_asio/example/ssl/server.cpp
编译:
g++ server.cpp -o server -lboost_system -lssl
g++ client.cpp -o client -lboost_system -lssl
Run Code Online (Sandbox Code Playgroud)
运行如下:
$ ./server
Usage: server <port>
$ ./server 10000
Exception: Invalid argument
$ ./server 1000
Exception: Permission denied
$ sudo ./server 1000
Exception: Invalid argument
Run Code Online (Sandbox Code Playgroud)
不确定是什么问题:(任何帮助将不胜感激.
谢谢!
我有一个有向图(通过boost :: graph库中的adjacency_graph实现),我试图找到某个顶点的父顶点.
在过去(通过pygraph)我简单地颠倒了有向图,然后进行了邻居搜索,但似乎用boost :: reverse_graph反转图形会将我的有向图变成双向图,因此我不能使用adjacent_vertices方法了.
有没有更好的方法来获取父顶点?
谢谢.
这是我当前的示例代码:
#include <boost/graph/adjacency_list.hpp>
#include <boost/graph/reverse_graph.hpp>
#include <iostream>
typedef boost::adjacency_list< boost::setS, boost::vecS, boost::directedS > Graph;
typedef boost::reverse_graph<Graph> Rgraph;
typedef Graph::vertex_descriptor Vertex;
int main()
{
Graph graph;
Vertex v0 = boost::add_vertex(graph);
Vertex v1 = boost::add_vertex(graph);
Vertex v2 = boost::add_vertex(graph);
Vertex v3 = boost::add_vertex(graph);
Vertex v4 = boost::add_vertex(graph);
Vertex v5 = boost::add_vertex(graph);
Vertex v6 = boost::add_vertex(graph);
boost::add_edge(v0,v1,graph);
boost::add_edge(v1,v2,graph);
boost::add_edge(v2,v3,graph);
boost::add_edge(v2,v4,graph);
boost::add_edge(v3,v5,graph);
boost::add_edge(v4,v5,graph);
boost::add_edge(v5,v6,graph);
Graph::adjacency_iterator ibegin, iend;
for (boost::tie(ibegin, iend) = boost::adjacent_vertices(v2, graph); ibegin != iend; …Run Code Online (Sandbox Code Playgroud)