# 服务器交互 / 根目录函数

## `checkConnected()`

检查是否和服务器已连接。

返回：bool

## `checkLogined()`

检查是否已经登录上服务器。

返回：bool

## `disconnectServer()`

断开服务器。

返回：any

## `loginedUser()`

得到登录的用户名。

返回：string

## `sendExecuteAndWait(remote_exec, sys_param, exec_result, env_or_err, online)`

递交请求给服务器执行，如果成功则返回0，否则返回错误代码。

| 参数          | 类型         | 说明                                                                                                                                                           |
| ------------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `remote_exec` | String       | 递交远程的执行串，Program 开始 end结束。                                                                                                                       |
| `sys_param`   | Array        | 缺省的服务器系统环境参数。                                                                                                                                     |
| `exec_result` | Boolean=True | 接受返回结果。                                                                                                                                                 |
| `env_or_err`  | Boolean=True | 如果执行正确，为返回的辅助结果，辅助的返回结果往往用来描述一些有用的与结果相关的信息，具体内容由模型自己设置到env_return的系统参数中。                         |
| `online`      | Boolean=True | 可缺省，默认模式是在线方式，如果为真则在线，如果为假则委托执行（最后执行的结果将存贮在用户数据表中，用户数据表的名称则由SysParam里的resultname系统参数设定）。 |

返回：Integer

## `sendExecute(remote_exec, sys_param, call_back, online)`

递交请求给服务器异步执行，如果成功则返回和服务器通讯的句柄。0为错误。

| 参数          | 类型         | 说明                                                                                                                                                           |
| ------------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `remote_exec` | String       | 递交远程的执行串，Program 开始 end结束。                                                                                                                       |
| `sys_param`   | Array        | 缺省的服务器系统环境参数。                                                                                                                                     |
| `call_back`   | String       | 当执行结束或者出错等等回调的TSL语言代码。                                                                                                                      |
| `online`      | Boolean=True | 可缺省，默认模式是在线方式，如果为真则在线，如果为假则委托执行（最后执行的结果将存贮在用户数据表中，用户数据表的名称则由SysParam里的resultname系统参数设定）。 |

返回：Integer

## `setComputeService(service)`

设置使用的计算的服务群。

| 参数      | 类型   | 说明                                                                       |
| --------- | ------ | -------------------------------------------------------------------------- |
| `service` | String | 服务群名。空字符串表示默认服务，’auto’表示自动选择，否则为指定的服务群名。 |

返回：any

## `setComputebitsOption(v)`

设置使用的计算的位选项。

| 参数 | 类型 | 说明                                                         |
| ---- | ---- | ------------------------------------------------------------ |
| `v`  | Byte | 整数。0表示自动选择，1表示32位服务器计算 2表示64位服务器计算 |

返回：Byte

## `defaultConnectAndLogin(alias, err_msg)`

连接并登录服务器，如果成功则返回0，否则返回出错代码。

| 参数      | 类型   | 说明                                                             |
| --------- | ------ | ---------------------------------------------------------------- |
| `alias`   | String | 服务器别名，其相应的配置在INI中。配置可参考：INI文件配置登陆信息 |
| `err_msg` | String | 可省略的参数，当登录不成功的时候，其返回错误信息。               |

返回：integer

## `endExecute(exec_handle)`

终止异步执行或者订阅。

| 参数          | 类型    | 说明                          |
| ------------- | ------- | ----------------------------- |
| `exec_handle` | Integer | 由SendExecute返回的执行句柄。 |

返回：any

## `connectServer(address, port, proxy_info)`

连接服务器。成功返回0，否则返回错误代码。

| 参数         | 类型    | 说明                                                                      |
| ------------ | ------- | ------------------------------------------------------------------------- |
| `address`    | String  | 字符串类型，服务器地址。                                                  |
| `port`       | Integer | 整数类型，服务器端口。                                                    |
| `proxy_info` | Array   | 若无代理服务器，则省略。代理服务器信息，字符串下标数组类型。数组下标串为: |

返回：Integer

### 示例

```tsl
http模式代理登陆
c_ts:=connectServer("tsl.tinysoft.com.cn",443,array("Address":"192.168.0.250","Port":808,"AuthMode":0));
lg:=loginServer("TSUser","UserPass",msg);
if lg=0 then
begin
echo "登陆成功!";
script:='program TS_testFunc;
begin
r:=1->5;
return r;
end.';
if sendExecuteAndWait(script,getSysParams(),result,err_msg)=0 then //Execute Success
echo toStn(result),'\r\n';
else
echo '远端执行失败！\r\n';
disconnectServer();
end
else
echo "登陆失败，报错：(",c_ts,",",msg,")\r\n";
打印"登陆成功!"则说明连接成功。
```

## `loginServer(user_name, password, err_msg)`

登录服务器。成功返回0，否则返回错误代码。

| 参数        | 类型   | 说明                                   |
| ----------- | ------ | -------------------------------------- |
| `user_name` | String | 字符串类型，登录用户名。               |
| `password`  | String | 字符串类型，登录密码。                 |
| `err_msg`   |        | 可选参数，当登录错误的时候返回错误串。 |

返回：Integer

## `remoteAddress()`

第三方交互中得到远程登录的地址

返回：String

### 示例

```tsl
#python交互范例，python代码
import sys
sys.path.append('D:\\tinysoft\\Analyse.NET\\')
import TSLPy3 as ts
data=ts.defaultConnectAndLogin("test")
print(ts.logined())
print("远程登录地址",ts.remoteAddress())
print("服务器设置:",ts.GetService())
ts.SetComputeBitsOption(64) #设置计算单位
print("计算位数设置:",ts.getComputebitsOption())
ts.Disconnect() #断开连接
//结果
```

## `remotePort()`

得到远程端口。

返回：Integer

## `tsTaskAdmin(command, cmd_return, broad_cast_msg, err_msg, wait_ms, data_recved_wait_ms)`

向天软平台发送管理命令。本地函数调用时需要加上RDO2

| 参数                  | 类型    | 说明                                                            |
| --------------------- | ------- | --------------------------------------------------------------- |
| `command`             | String  | 字符串类型，送入的命令串。更多任务管理命令查看：Q：任务管理说明 |
| `cmd_return`          | String  | 字符串，存放命令执行的返回结果。                                |
| `broad_cast_msg`      | String  | 字符串，存放在命令期间接收到的广播消息。                        |
| `err_msg`             | String  | 如果发生错误，返回错误的信息串。                                |
| `wait_ms`             | integer | 等待信息的毫秒数，可省略。                                      |
| `data_recved_wait_ms` | integer | 当数据已经有接收到，等多多少毫秒则结束等待。                    |

返回：integer

### 示例

```tsl
rdo2 tsTaskAdmin("oa",cmd_return,broad_cast_msg,err_msg,3000,1000);
return cmd_return;
返回结果：
```

## `getComputebitsOption()`

获得使用的计算的位选项。

返回：Byte

## `getComputeService()`

获得计算的服务群选择。

返回：String
