diff --git a/ixwebsocket/IXUdpSocket.cpp b/ixwebsocket/IXUdpSocket.cpp index 60762126..a5beb0d8 100644 --- a/ixwebsocket/IXUdpSocket.cpp +++ b/ixwebsocket/IXUdpSocket.cpp @@ -113,9 +113,10 @@ namespace ix _sockfd, buffer.data(), buffer.size(), 0, (struct sockaddr*) &_server, sizeof(_server)); } - ssize_t UdpSocket::recvfrom(void* buffer, size_t length) + ssize_t UdpSocket::recvfrom(char* buffer, size_t length) { + uint32_t addressLen = sizeof(_server); return (ssize_t)::recvfrom( - _sockfd, buffer, length, 0, (struct sockaddr*) &_server, sizeof(_server)); + _sockfd, buffer, length, 0, (struct sockaddr*) &_server, &addressLen); } } // namespace ix diff --git a/ixwebsocket/IXUdpSocket.h b/ixwebsocket/IXUdpSocket.h index c609886a..22d914a1 100644 --- a/ixwebsocket/IXUdpSocket.h +++ b/ixwebsocket/IXUdpSocket.h @@ -28,7 +28,7 @@ namespace ix // Virtual methods bool init(const std::string& host, int port, std::string& errMsg); ssize_t sendto(const std::string& buffer); - ssize_t recvfrom(void* buffer, size_t length); + ssize_t recvfrom(char* buffer, size_t length); void close();