|
@@ -544,14 +544,14 @@ Error NetSocketPosix::recv(uint8_t *p_buffer, int p_len, int &r_read) {
|
|
|
return OK;
|
|
|
}
|
|
|
|
|
|
-Error NetSocketPosix::recvfrom(uint8_t *p_buffer, int p_len, int &r_read, IP_Address &r_ip, uint16_t &r_port) {
|
|
|
+Error NetSocketPosix::recvfrom(uint8_t *p_buffer, int p_len, int &r_read, IP_Address &r_ip, uint16_t &r_port, bool p_peek) {
|
|
|
ERR_FAIL_COND_V(!is_open(), ERR_UNCONFIGURED);
|
|
|
|
|
|
struct sockaddr_storage from;
|
|
|
socklen_t len = sizeof(struct sockaddr_storage);
|
|
|
memset(&from, 0, len);
|
|
|
|
|
|
- r_read = ::recvfrom(_sock, SOCK_BUF(p_buffer), p_len, 0, (struct sockaddr *)&from, &len);
|
|
|
+ r_read = ::recvfrom(_sock, SOCK_BUF(p_buffer), p_len, p_peek ? MSG_PEEK : 0, (struct sockaddr *)&from, &len);
|
|
|
|
|
|
if (r_read < 0) {
|
|
|
NetError err = _get_socket_error();
|