IPAddress Connection::getPeer() const { IPAddress peer; char *addr; ev_uint16_t port; evhttp_connection_get_peer(con, &addr, &port); if (addr) peer = IPAddress(addr, port); const sockaddr *sa = evhttp_connection_get_addr(con); if (sa && sa->sa_family == AF_INET) { peer.setPort(((sockaddr_in *)sa)->sin_port); peer.setIP(((sockaddr_in *)sa)->sin_addr.s_addr); } return peer; }