has.connectSocket(Object object): SocketTask
创建新的WebSocket连接。
起始版本: 1.0.0
参数:
参数为Object对象,包括以下字段。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| url | string | 是 | 服务器wss接口地址。 |
| header | object | 否 | HTTP Header,header中不能设置Referer。 |
| protocols | Array<string> | 否 | 子协议组。 |
| success | function | 否 | 接口调用成功的回调函数。 |
| fail | function | 否 | 接口调用失败的回调函数。 |
| complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行)。 |
返回值:
返回SocketTask对象,可以通过socketTask实例来操作socket。
错误码信息:
| 错误码 | 错误信息 |
|---|---|
| 101 | Common error. Possible causes: current socket is close. |
| 102 | Parameter error. Possible causes: check type is invalid. |
| 201 | Permission denied. |
| 401 | Parameter error. Possible causes: 1. Missing mandatory parameters. 2. Incorrect parameter type. 3. Parameter verification failed. |
| 40000501 | connectSocket error. 更多错误信息参考:webSocket错误码。 |
示例:
has.connectSocket({
url: 'ws://www.example.com', // 此处仅为样例,请开发者更换为可用接口地址
header: {
'content-type': 'application/json'
},
protocols: ['protocol1']
}); has.sendSocketMessage(Object object)
通过已连接成功的WebSocket连接发送数据。
需要先调用has.connectSocket,并在has.onSocketOpen接收到回调之后才能发送,否则会发送失败。
起始版本: 1.0.0
参数:
参数为Object对象,包括以下字段。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | string | ArrayBuffer | 是 | 发送的内容。 从1.0.3版本开始,支持发送ArrayBuffer类型数据。 |
| success | function | 否 | 接口调用成功的回调函数。 |
| fail | function | 否 | 接口调用失败的回调函数。 |
| complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行)。 |
错误码信息:
| 错误码 | 错误信息 |
|---|---|
| 101 | Common error. Possible causes: current socket is close. |
| 102 | Parameter error. Possible causes: check type is invalid. |
| 401 | Parameter error. Possible causes: 1. Missing mandatory parameters. 2. Incorrect parameter type. 3. Parameter verification failed. |
| 40000901 | sendSocketMessage error. 更多错误信息参考:webSocket错误码。 |
示例:
has.sendSocketMessage({
data: 'Hello'
}); has.onSocketOpen(function callback)
订阅WebSocket连接打开事件回调。
起始版本: 1.0.0
参数:
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| callback | function | 是 | WebSocket连接打开事件的回调函数。 |
callback返回值:
| 参数 | 类型 | 描述 |
|---|---|---|
| header | object | 连接成功的HTTP响应Header。 |
错误码信息:
| 错误码 | 错误信息 |
|---|---|
| 101 | Common error. Possible causes: current socket is close. |
| 102 | Parameter error. Possible causes: listener should be a function. |
| 40000701 | onSocketOpen error. 更多错误信息参考:webSocket错误码。 |
示例:
has.onSocketOpen((res) => {
console.info('onSocketOpen success', res);
}); has.onSocketMessage(function callback)
订阅WebSocket接收到服务器的消息事件回调。
起始版本: 1.0.0
参数:
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| callback | function | 是 | WebSocket接收到服务器的消息事件的回调函数。 |
callback返回值:
| 参数 | 类型 | 描述 |
|---|---|---|
| data | string | ArrayBuffer | 服务器返回的消息。 从1.0.3版本开始,支持接收ArrayBuffer类型数据。 |
错误码信息:
| 错误码 | 错误信息 |
|---|---|
| 101 | Common error. Possible causes: current socket is close. |
| 102 | Parameter error. Possible causes: listener should be a function. |
| 40001001 | onSocketMessage error. 更多错误信息参考:webSocket错误码。 |
示例:
has.onSocketMessage(res => {
console.info('socket message', res);
}); has.onSocketError(function callback)
订阅WebSocket错误事件回调。
起始版本: 1.0.0
参数:
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| callback | function | 是 | WebSocket错误事件的回调函数。 |
错误码信息:
| 错误码 | 错误信息 |
|---|---|
| 101 | Common error. Possible causes: current socket is close. |
| 102 | Parameter error. Possible causes: listener should be a function. |
| 40001101 | onSocketError error. 更多错误信息参考:webSocket错误码。 |
示例:
has.onSocketError(err => {
console.error('socket error', err);
}); has.onSocketClose(function callback)
订阅WebSocket连接关闭事件回调。
起始版本: 1.0.0
参数:
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| callback | function | 是 | WebSocket连接关闭事件的回调函数。 |
错误码信息:
| 错误码 | 错误信息 |
|---|---|
| 101 | Common error. Possible causes: current socket is close. |
| 102 | Parameter error. Possible causes: listener should be a function. |
| 40000801 | onSocketClose error. 更多错误信息参考:webSocket错误码。 |
示例:
has.onSocketClose(() => {
console.info('onSocketClose success');
}); has.closeSocket(Object object)
关闭WebSocket连接。
起始版本: 1.0.0
参数:
参数为Object对象,包括以下字段。
| 参数 | 类型 | 默认值 | 必填 | 描述 |
|---|---|---|---|---|
| code | number | 1000(表示正常关闭连接) | 否 | 关闭连接的状态号。 |
| reason | string | - | 否 | 连接被关闭的原因。 |
| success | function | - | 否 | 接口调用成功的回调函数。 |
| fail | function | - | 否 | 接口调用失败的回调函数。 |
| complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行)。 |
错误码信息:
| 错误码 | 错误信息 |
|---|---|
| 101 | Common error. Possible causes: current socket is close. |
| 102 | Parameter error. Possible causes: check type is invalid. |
| 40000601 | closeSocket error. 更多错误信息参考:webSocket错误码。 |
示例:
has.connectSocket({
url: 'ws://www.example.com', // 此处仅为样例,请开发者更换为可用接口地址
});
has.onSocketOpen(() => {
has.closeSocket();
});
has.onSocketClose((res) => {
console.info('onSocketClose success');
}); SocketTask.send(Object object)
通过WebSocket连接发送数据。
起始版本: 1.0.0
参数:
参数为Object对象,包括以下字段。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | string | ArrayBuffer | 是 | 需要发送的内容。 从1.0.3版本开始,支持发送ArrayBuffer类型数据。 |
| success | function | 否 | 接口调用成功的回调函数。 |
| fail | function | 否 | 接口调用失败的回调函数。 |
| complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行)。 |
错误码信息:
| 错误码 | 错误信息 |
|---|---|
| 102 | Parameter error. Possible causes: check type is invalid. |
示例:
let socketTask = has.connectSocket({
url: 'ws://www.example.com', // 此处仅为样例,请开发者更换为可用接口地址
header: {
'content-type': 'application/json'
},
protocols: ['protocol1'],
method: 'GET',
success: () => {
console.info('on socketTask connect success callback receive');
}
});
socketTask.send({
data: 'this is a send message',
success: (res) => {
console.info('socket send message success', res);
},
fail: (err) => {
console.error('socket send message error', err);
},
complete: (res) => {
console.info('socket send message complete', res);
}
}); SocketTask.close(Object object)
关闭WebSocket连接。
起始版本: 1.0.0
参数:
参数为Object对象,包括以下字段。
| 参数 | 类型 | 默认值 | 必填 | 描述 |
|---|---|---|---|---|
| code | number | 1000 | 否 | 关闭连接的状态码,用于标识连接被关闭的原因。 1000:正常关闭连接。 1006:webSocket发生错误,关闭连接。 |
| reason | string | - | 否 | 可读的字符串,表示连接被关闭的原因。 |
| success | function | - | 否 | 接口调用成功的回调函数。 |
| fail | function | - | 否 | 接口调用失败的回调函数。 |
| complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行)。 |
错误码信息:
| 错误码 | 错误信息 |
|---|---|
| 102 | Parameter error. Possible causes: check type is invalid. |
示例:
let socketTask = has.connectSocket({
url: 'ws://www.example.com', // 此处仅为样例,请开发者更换为可用接口地址
header: {
'content-type': 'application/json'
},
protocols: ['protocol1'],
method: 'GET',
success: () => {
console.info('on socketTask connect success callback receive');
}
});
socketTask.close(); SocketTask.onOpen(function callback)
监听WebSocket连接打开事件。
起始版本: 1.0.0
参数:
| 参数 | 类型 | 描述 |
|---|---|---|
| callback | function | WebSocket连接打开事件的回调函数。 |
callback返回值:
| 参数 | 类型 | 描述 |
|---|---|---|
| header | object | 连接成功的HTTP响应Header。 |
错误码信息:
| 错误码 | 错误信息 |
|---|---|
| 102 | Parameter error. Possible causes: listener should be a function. |
示例:
let socketTask = has.connectSocket({
url: 'ws://www.example.com', // 此处仅为样例,请开发者更换为可用接口地址
header: {
'content-type': 'application/json'
},
protocols: ['protocol1'],
method: 'GET',
success: () => {
console.info('on socketTask connect success callback receive');
}
});
socketTask.onOpen((res) => {
console.info('on socketTask open receive', res);
}); SocketTask.onClose(function callback)
监听WebSocket连接关闭事件。
起始版本: 1.0.0
参数:
| 参数 | 类型 | 描述 |
|---|---|---|
| callback | function | WebSocket连接关闭事件的回调函数。 |
callback返回值:
| 参数 | 类型 | 描述 |
|---|---|---|
| code | number | 关闭连接的状态码,用于标识连接被关闭的原因。 |
| reason | string | 一个可读的字符串,表示连接被关闭的原因。 |
错误码信息:
| 错误码 | 错误信息 |
|---|---|
| 102 | Parameter error. Possible causes: listener should be a function. |
示例:
let socketTask = has.connectSocket({
url: 'ws://www.example.com', // 此处仅为样例,请开发者更换为可用接口地址
header: {
'content-type': 'application/json'
},
protocols: ['protocol1'],
method: 'GET',
success: () => {
console.info('on socketTask connect success callback receive');
}
});
socketTask.onClose((res) => {
console.info('on socketTask close receive', res);
}); SocketTask.onError(function callback)
监听WebSocket错误事件。
起始版本: 1.0.0
参数:
| 参数 | 类型 | 描述 |
|---|---|---|
| callback | function | WebSocket错误事件的回调函数。 |
callback返回值:
| 参数 | 类型 | 描述 |
|---|---|---|
| errMsg | string | 错误信息。 |
错误码信息:
| 错误码 | 错误信息 |
|---|---|
| 102 | Parameter error. Possible causes: listener should be a function. |
示例:
let socketTask = has.connectSocket({
url: 'ws://www.example.com', // 此处仅为样例,请开发者更换为可用接口地址
header: {
'content-type': 'application/json'
},
protocols: ['protocol1'],
method: 'GET',
success: () => {
console.info('on socketTask connect success callback receive');
}
});
socketTask.onError((res) => {
console.error('on socketTask error receive', res);
}); SocketTask.onMessage(function callback)
监听WebSocket接收到服务器的消息事件。
起始版本: 1.0.0
参数:
| 参数 | 类型 | 描述 |
|---|---|---|
| callback | function | WebSocket接收到服务器消息事件的回调函数。 |
callback返回值:
| 参数 | 类型 | 描述 |
|---|---|---|
| data | string | ArrayBuffer | 服务器返回的消息。 从1.0.3版本开始,支持接收ArrayBuffer类型数据。 |
错误码信息:
| 错误码 | 错误信息 |
|---|---|
| 102 | Parameter error. Possible causes: listener should be a function. |
示例:
let socketTask = has.connectSocket({
url: 'ws://www.example.com', // 此处仅为样例,请开发者更换为可用接口地址
header: {
'content-type': 'application/json'
},
protocols: ['protocol1'],
method: 'GET',
success: () => {
console.info('on socketTask connect success callback receive');
}
});
socketTask.onMessage((res) => {
console.debug('on socketTask message receive', res);
});