From 6b9ec810c6ccf096b0357ebf3f5fe6e3423d290b Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Tue, 10 Apr 2018 17:52:10 +0200 Subject: Implement get_peer_[address|port] in ENet/WSServer Also implement get_connected_host and get_connected_port in WebSocketPeer (not supported in HTML5 due to browser limitation). Add shorthand disconnect_peer(id) for get_peer(id)->close() like in ENet to WebSocketServer. --- modules/websocket/lws_server.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'modules/websocket/lws_server.cpp') diff --git a/modules/websocket/lws_server.cpp b/modules/websocket/lws_server.cpp index 94fe4231a..8d13dc7a9 100644 --- a/modules/websocket/lws_server.cpp +++ b/modules/websocket/lws_server.cpp @@ -164,6 +164,24 @@ Ref LWSServer::get_peer(int p_id) const { return _peer_map[p_id]; } +IP_Address LWSServer::get_peer_address(int p_peer_id) const { + ERR_FAIL_COND_V(!has_peer(p_peer_id), IP_Address()); + + return _peer_map[p_peer_id]->get_connected_host(); +} + +int LWSServer::get_peer_port(int p_peer_id) const { + ERR_FAIL_COND_V(!has_peer(p_peer_id), 0); + + return _peer_map[p_peer_id]->get_connected_port(); +} + +void LWSServer::disconnect_peer(int p_peer_id) { + ERR_FAIL_COND(!has_peer(p_peer_id)); + + get_peer(p_peer_id)->close(); +} + LWSServer::LWSServer() { context = NULL; _lws_ref = NULL; -- cgit v1.2.3-70-g09d2