AbstractServiceAPI->HookRequest方法。| 属性 | 值 |
|---|---|
| IDE | VS2010 |
| 平台工具集 | .NET 2.0 |
在抽象类AbstractServiceAPI中定义类目前所有接口中定义方法的回调函数, 具体接口参数可参考接口文档定义。
当底层TCP连接建立、授权结果反馈时该事件会被触发, 事件类型有:
| 项定义 | 说明 |
|---|---|
ChannelEventType.AccessGranted | API授权成功 |
ChannelEventType.AccessDenied | API授权失败 |
ChannelEventType.ChannelError | TCP连接异常 |
ChannelEventType.ChannelClosed | TCP链接关闭 |
// PYun服务器地址, 根据开通参数设置
string host = "sandbox.gate.4pyun.com";
// PYun服务器端口, 根据开通参数设置
int port = 8661;
PYunAPI instance = new PYunAPI(host, port);
// 设置终端类型
instance.Type = "public:parking:agent";
// 设置通信事件处理回调处理类
instance.ChannelEventHandler += new EventHandler<ChannelEventArgs>(ChannelEventHandler);
// 设置业务接口处理回调类
instance.ServiceHandler = new PYunServiceAPIImpl();
// PYun分配当客户端ID, 根据开通参数设置
string uuid = "foo";
// PYun分配当客户端通信密钥, 根据开通参数设置
string mac = "mac";
// 启动服务
instance.Startup(uuid, mac);
通过调用Startup方法底层SDK会开启线程和PYun服务器保持一个TCP长连接, 并支持会自动重连; 连接的状态通过ChannelEventHandler中监听处理。
instance.Shutdown();
通过调用Shutdown方法会关闭底层TCP连接线程。
instance.Restart();
通过调用Restart方法会关闭底层TCP连接线程, 然后重新建立连接, 连接的状态通过ChannelEventHandler中监听处理。
默认P云一个项目只允许保持一个有效TCP连接用于数据通信, 为兼容部分系统厂商暂时提供多终端的解决方案, 该方案允许各个终端设置自己的device用于区分不同的终端。
在停车场景, device需设置为当前通道口ID, 设置方法如下:
// [可选]设置设备ID, 仅在多终端模式下设置
instance.Device = "98K";