SOCKET接口使用说明

功能说明：新酷卡可以作为服务端，实现SOCKET通讯，实现三大功能：

1>  支持端口信息和新短信主动上报。

2>  客户端可以向新酷卡软件发送数据，提交新酷卡任务设置里所有格式的任务。

3>  客户端支持发送指令给新酷卡软件，操作卡池设备自动换卡。


新酷卡配置SOCKET功能:

1>  软件默认已开启SOCKET服务功能，端口号为：16908，可在【工具】->【SOCKET服务对接设置】配置，重启软件生效。

2>  目录下有SOCKET测试工具可用于测试SOCKET指令。


SOCKET指令使用说明：

1>  端口信息上报，只要client连接上新酷卡，端口信息有变会自动往client发送数据，格式为：+DEVICES:端口信息数据长度,端口信息|。

    如：+DEVICES:66,COM12,13800000001,460010000000002,89860000000085125121,350212021210245|

2>  客户端收到新短信格式为：+NEW_SMS:端口号┇手机号┇发送号码┇接收时间┇短信内容。

3>  客户端提交的短信发送成功上报格式为：+NEW_SMS:短信ID┇端口号┇手机号┇发送号码┇接收时间┇短信内容。

4>  客户端提交的短信发送失败上报格式为：+SMS_FAIL:短信ID┇端口号┇手机号┇发送号码┇接收时间┇短信内容。

5>  客户端指定端口发送短信格式为：AP$SENDSMS=数据库ID,端口号,发送号码,发送内容 （注：数据库ID没有可指定一个整数）

6>  客户端提交任务设置任务格式为：AP$TASK=数据长度,端口号,数据 (注：端口号小于或等于0表示该任务发送到所有通道)

    数据格式为json格式: 如：{"taskname":"短信","tasktype":"短信","number":"10001","content":"102","count":1,"waittime":2}

    字段值参照软件任务设置，如果是语音，则tasktype对应的类型是"语音"，同理彩信对应的类型是"彩信"，以任务设置类型为准。

    数据长度仅计算数据的长度不含端口号。

    如发送短信102到10001,数据长度93（注：中文占两字节）发送到COM66，指令参考：AP$TASK=93,66,{"taskname":"短信","tasktype":"短信","number":"10001","content":"102","count":1,"waittime":2}
  
    同样刷流量任务（注：流量任务content对应内容中括号不带必须去掉），指令参考：AP$TASK=213,66,{"taskname":"流量任务","tasktype":"刷流量","number":"","content":"2┇2,网址自动轮转┇1.00-1.00┇NokiaN82/1.0 (20.1.062) SymbianOS/9.2 Series60/3.1 Profile/MIDP-2.0 Configuration/CLDC-1.1┇","count":1,"waittime":2}

    其他任务同样参考设置，互打互发除外。

7>  卡池换卡指令：AP$SIM=端口号,序号; (注：如果端口号小于0表示全部通道一起换卡)

8>  卡池指定手机号换卡指令：AP$SIMPHONUM=手机号; (注：必须先保存手机号对应的卡池位置)

9>  获取指令端口信息：AP$PORTREAD=端口号，如：AP$PORTREAD=66，获取COM66端口信息，AP$PORTREAD=-1，获取全部端口信息。

10> 读取新短信指令：AP$SMS=端口号 (端口号小于0是表示读取全部端口新短信)

11> 获取端口号信息：AP$DEVICES=端口号，端口号小于0是表示读取全部端口信息。

12> 任务执行结果查询：AP$TASKRESULT?

13> 根据ICCID换卡：AP$SIMICCID=ICCID

14> 清空未读短信：AP$SMSCLEAR

15> 发送USSD指令：AP$USSD=端口号,任务ID(大于0整数),"USSD指令"; （端口号小于0是表示全部端口发送USSD指令）

16> 增强读取新短信指令：AP$EX_SMS=端口号 (端口号小于0表示读取全部端口新短信,内容经过base64加密处理，1次只上报1条,配置需要关闭端口主动上报信息)




