阿里云边缘网络隧道Go

SDK请在‘下载专区’进行下载,本文档主要通过GoPlugins的方式使用ENT;代码请参照SDK中ENT-Go/Example/下的两个example文件

  • 准备工作
    将entplugin文件夹及其中的entplugin.go移至自己项目的根目录,同时在Plugins中选择合适的系统和CPU架构下的entplugin.so文件,将其移动的项目的entplugin目录下。

  • 以example.go的样式编写自己的应用
    调用entplugin这个package的GetEntService获取它的返回值EntService,用EntService.func的方式调用方法。请参见example_a.go和example_b.go的写法。

  • 运行example在Plugins中选择合适版本的ent-plugin.so,置于example_a和example_b的entplugin文件夹下。依次gobuild命令编译,分别在两个终端中先运行example_b,再运行example_a:

  • gobuild-oexample_aexample_a.gogobuild-oexample_bexample_b.go./example_b./example_a

  • API文档

    RegisterRegister(demandID,peerID,serverAddrstring)error功能根据PeerID注册一个Peer节点.参数demandID[in]:供应商ID.
    peerID[in]:本端节点ID.
    serverAddr[in]:服务器IP地址或域名,默认使用填入DEFAULT_SERVER_ADDR即可.返回值成功返回值=nil.
    失败返回值=错误UnregisterUnregister(peerIDstring)error功能根据PeerID解注册一个Peer节点.参数peerID[in]:本端节点ID.返回值成功返回值=nil.
    失败返回值=错误.ConnectConnect(peerIDstring)(string,error)功能建立与peerID对应Peer节点的连接,并返回连接对应的ConnectID.参数peerID[in]:对端节点ID.返回值成功返回值=ConnectID,nil.
    失败返回值="",错误.DisconnectDisconnect(connectIDstring)error功能根据connectID断开对应的连接.参数connectID[in]:连接的ConnectID.返回值成功返回值=nil.
    失败返回值=错误.SetTimeoutSetTimeOut(connectIDstring,timeouttime.Duration)error功能设置connectID对应的连接的读写的超时时间.参数connectID[in]:连接的ConnectID.
    timeout[in]:读写超时时间.返回值成功返回值=nil.
    失败返回值=错误.WriteWrite(connectIDstring,data[]byte)error功能向connectID对应的连接中写入数据.参数connectID[in]:连接的ConnectID.
    data[in]:写入的数据.返回值成功返回值=写入数据大小.
    失败返回值0.ReadRead(connectIDstring,data[]byte)(int,error)功能从connectID对应的连接中读出数据.参数connectID[in]:连接的ConnectID.
    data[out]:读出的数据.返回值成功返回值=读出数据大小,nil.
    失败返回值=0,错误.SetConnectHandlerSetConnectHandler(handlerfunc(string))error功能设定连接建立时调用的回调函数,回调函数的参数为连接建立时传入的ConnectID.参数handler[in]:回调函数,类型为func(string)返回值成功返回值=nil.
    失败返回值=错误.