| 259 | } |
| 260 | |
| 261 | void CMain::OnNewClient(int ClientNetID, int ClientID) |
| 262 | { |
| 263 | dbg_msg("main", "OnNewClient(ncid=%d, cid=%d)", ClientNetID, ClientID); |
| 264 | Client(ClientID)->m_ClientNetID = ClientNetID; |
| 265 | Client(ClientID)->m_ClientNetType = m_Server.Network()->ClientAddr(ClientNetID)->type; |
| 266 | Client(ClientID)->m_TimeConnected = time_get(); |
| 267 | Client(ClientID)->m_Connected = true; |
| 268 | |
| 269 | if(Client(ClientID)->m_ClientNetType == NETTYPE_IPV4) |
| 270 | Client(ClientID)->m_Stats.m_Online4 = true; |
| 271 | else if(Client(ClientID)->m_ClientNetType == NETTYPE_IPV6) |
| 272 | Client(ClientID)->m_Stats.m_Online6 = true; |
| 273 | |
| 274 | // Send monitor to client |
| 275 | // support by cpp.la |
| 276 | int ID = 0; |
| 277 | char monitorBuffer[2048]; |
| 278 | while (strcmp(Monitors(ID)->m_aName, "NULL")) |
| 279 | { |
| 280 | memset(monitorBuffer, 0, sizeof(monitorBuffer)); |
| 281 | sprintf(monitorBuffer, "{\"name\":\"%s\",\"host\":\"%s\",\"interval\":%d,\"type\":\"%s\",\"monitor\":%d}", Monitors(ID)->m_aName, Monitors(ID)->m_aHost, Monitors(ID)->m_aInterval, Monitors(ID)->m_aType, ID); |
| 282 | m_Server.Network()->Send(ClientNetID, monitorBuffer); |
| 283 | ID++; |
| 284 | } |
| 285 | } |
| 286 | |
| 287 | void CMain::OnDelClient(int ClientNetID) |
| 288 | { |