获取客户端地址 - TcpServerGetClientAddress
函数简介
获取客户端的地址信息。
接口名称
TcpServerGetClientAddress
DLL调用
const char* TcpServerGetClientAddress(int64_t instance, int64_t server_handle, int64_t conn_id);
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| instance | 长整数型 | OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。 |
| server_handle | 长整数型 | 服务端句柄 |
| conn_id | 长整数型 | 连接ID |
示例
// 在回调中获取客户端地址
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 == 0) { // 新连接
const char* addr = TcpServerGetClientAddress(instance, server_handle, conn_id);
if (addr != NULL) {
printf("新连接来自:%s [conn_id=%lld]\n", addr, conn_id);
FreeStringPtr(instance, addr);
}
}
}
返回值
字符串指针,格式为"IP:Port",失败返回NULL。需调用 FreeStringPtr 释放内存。
注意事项
- 返回的字符串需要调用
FreeStringPtr释放内存 - 返回格式示例:IPv4 "192.168.1.100:12345",IPv6 "[::1]:54321"
- 如果连接不存在,返回NULL
