summaryrefslogtreecommitdiffstats
path: root/drivers/unix/net_socket_posix.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Moved member variables to initializer listWilson E. Alvarez2018-12-111-4/+4
|
* Properly accept wildcard when binding IPv4 socket.Fabio Alessandrelli2018-11-181-2/+1
| | | | | Also never return null for is_ipv4 to avoid crashes due to engine bug. (better to get an error and a broken socket then seeing your game crash)
* Server platform works on OS X tooMarcelo Fernandez2018-10-291-1/+1
|
* Fix warnings in HTML5 build outside platform filesLeon Krause2018-10-061-4/+0
|
* Remove socket_helper.h after NetSocket refactorFabio Alessandrelli2018-09-281-4/+4
|
* Fix invalid comparison warnings: [-Wbool-compare] and [-Wenum-compare]Rémi Verschelde2018-09-271-1/+1
| | | | | | | | | | | | | Fixes the following GCC 5 warnings and actual bugs: ``` drivers/unix/net_socket_posix.cpp:562:28: warning: comparison between 'enum IP::Type' and 'enum NetSocket::Type' [-Wenum-compare] modules/gdscript/gdscript_function.cpp:792:26: warning: comparison of constant '17' with boolean expression is always true [-Wbool-compare] modules/gdscript/gdscript_function.cpp:792:26: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses] modules/gdscript/gdscript_parser.cpp:5082:58: warning: comparison of constant '6' with boolean expression is always false [-Wbool-compare] modules/gdscript/gdscript_parser.cpp:5082:58: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses] modules/mbedtls/stream_peer_mbed_tls.cpp:286:45: warning: comparison between 'enum StreamPeerTCP::Status' and 'enum StreamPeerSSL::Status' [-Wenum-compare] modules/mbedtls/stream_peer_mbed_tls.cpp:313:45: warning: comparison between 'enum StreamPeerTCP::Status' and 'enum StreamPeerSSL::Status' [-Wenum-compare] ```
* Fix Winsock UDP ECONNRESET/ENETRESET bugFabio Alessandrelli2018-09-221-0/+21
| | | | | | | | | | | | | Since Windows 2000: Calling recv/recvfrom when an ICMP reply was received from a previous send/sendto, may result in a WSAECONNRESET error. Since Windows Vista(?)/Windows Server 2008: Calling recv/recvfrom when an ICMP reply was received from a previous send/sendto, may also result in a WSAENETRESET error. Both those features are disabled by this commit using disabling SIO_UDP_CONNRESET and SIO_UDP_NETRESET on newly created UDP sockets.
* Detect POLLERR revents too in NetSocketPosix.Fabio Alessandrelli2018-09-221-0/+1
| | | | Usually indicate an RST was received by a TCP socket.
* Use select instead of WSAPoll on Windows.Fabio Alessandrelli2018-09-221-4/+51
| | | | | | | | | WSAPoll is broken by design. It was announced as the new way to introduce compatibility to posix sockets, their implementation was broken, and they decided not to fix it. You can read the full story here: https://daniel.haxx.se/blog/2012/10/10/wsapoll-is-broken/
* Properly initialize Winsock on startupFabio Alessandrelli2018-09-131-1/+18
| | | | Also fix typo in _get_last_error which caused Winsock connect to fail.
* New NetSocket interface, BSD/Win implementationFabio Alessandrelli2018-09-121-0/+535
Unified BSD and Winsock sockets into a single implementation of a generic NetSocket interface. This is some ground work for few network improvements: - Reuse as much code as possible between Posix and Windows. - Provide a single point of implementation for exotic sdks (consoles). - Provide platform agnostic StreamPeerTCP and PacketPeerUDP in core. - Implement connect for UDP allowing for DTLS implementation.