阿里云边缘网络隧道C

【本文档的操作环境为Linux系统(Ubuntu、CentOS)】
SDK请在‘下载专区’进行下载;代码请参照SDK中ENT/Example/Linux下的两个.c文件

  • 使用ENT动态库构建项目
    a)用如下命令安装libentapi库:
    安装对应系统和CPU架构的.so库文件
  • sudocplibentapi.so/usr/lib/sudoldconfig//动态库安装b)编译example_a.c和example_b.c:

    将Include中的头文件entapi.h和Example目录下的example_a.c、example_b.c放在同一目录下,编译example_a.c和example_b.c

    gcc-oexample_aexample_a.c-L.-Wl,-dy-lentapigcc-oexample_bexample_b.c-L.-Wl,-dy-lentapic)打开两个终端先启动example_b,再启动example_a:./example_b

    ./example_a

    2.使用ENT静态库构建项目
    a)编译example_a.c和example_b.c:
    拷贝Include目录中的头文件entapi.h,Example目录下的example_a.c、example_b.c以及Lib中相应.a库文件(选择对应系统和CPU架构)放在同一目录下,并编译example_a.c和example_b.cgcc-oexample_aexample_a.c-L.-Wl,-dn-lentapi-Wl,-dy-lpthreadgcc-oexample_bexample_b.c-L.-Wl,-dn-lentapi-Wl,-dy-lpthreadb)打开两个终端先启动example_b,再启动example_a:./example_b

    ./example_a

    3.API文档RegisterintRegister(constchardemandID,constcharpeerID,constcharserverAddr);功能根据PeerID注册一个Peer节点参数demandID[in]:供应商ID.
    peerID[in]:本端节点ID.
    serverAddr[in]:服务器IP地址或域名,默认使用填入DEFAULT_SERVER_ADDR即可.返回值成功返回值=0.
    失败返回值0.UnregisterintUnregister(constcharpeerID);功能根据PeerID解注册一个Peer节点参数peerID[in]:本端节点ID返回值成功返回值=0.
    失败返回值0.ConnectcharConnect(constcharpeerID);功能建立本端Peer节点与对端Peer节点的连接,成功返回连接的ConnectID.参数peerID[in]:对端节点ID.返回值成功返回值=ConnectID.
    失败返回值="".DisconnectintDisconnect(constcharconnectID);功能根据connectID断开对应的连接.参数connectID[in]:连接的ConnectID.返回值成功返回值=0.
    失败返回值0.SetTimeoutintSetTimeout(constcharconnectID,inttimeout);功能设置connectID对应的连接的读写的超时时间,单位ms.参数connectID[in]:连接的ConnectID.
    timeout[in]:读写超时时间,单位ms.返回值成功返回值=0.
    失败返回值0.WriteintWrite(constcharconnectID,charbuf,intbufSize);功能向connectID对应的连接中写入数据.参数connectID[in]:连接的ConnectID.
    buf[in]:写入字符串的指针.
    bufSize[in]:写入字符串的大小,单位byte.返回值成功返回值=写入数据大小.
    失败返回值0.ReadintRead(constcharconnectID,charbuf,intbufSize);功能从connectID对应的连接中读出数据.参数connectID[in]:连接的ConnectID.
    buf[out]:读出字符串的指针.返回值成功返回值=读出数据大小.
    失败返回值0.SetConnectHandlerintSetConnectHandler(connect_callback_fnhandler);功能设定连接建立时调用的回调函数,回调函数的参数为连接建立时传入的ConnectID.参数handler[in]:回调函数,类型为void(connect_callback_fn)(constchar)返回值成功返回值=0.
    失败返回值0.