服务端发送数据 - TcpServerSend
函数简介
向指定连接发送数据。
接口名称
TcpServerSend
DLL调用
int32_t TcpServerSend(int64_t instance, int64_t server_handle, int64_t conn_id, int64_t data, int32_t data_len);
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| instance | 长整数型 | OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。 |
| server_handle | 长整数型 | 服务端句柄 |
| conn_id | 长整数型 | 连接ID(从回调中获得) |
| data | 长整数型 | 数据指针 |
| data_len | 整数型 | 数据长度 |
示例
// 在回调中发送数据
void OnTcpServerEvent(int64_t server_handle, int64_t conn_id, int32_t event_type,
int64_t data, int32_t data_len, int64_t user_data) {
if (event_type == 1) { // 收到数据
// 回复客户端
const char* reply = "收到消息";
TcpServerSend(instance, server_handle, conn_id, (int64_t)reply, strlen(reply));
}
}
返回值
整数型,1 成功(加入发送队列),0 失败。
注意事项
- 这是异步操作,数据会被加入发送队列
- 发送完成后会触发回调(event_type=3)
- 如果启用了分包协议,会自动添加4字节长度前缀
- 如果连接不存在,发送会失败
- 数据会被复制,调用后可以立即释放原始数据
