What are the major differences between Winsock and *nix BSD socket implementations?
Winsock is a programming interface and the supporting program that handles input/output requests for Internet applications in a Windows operating system. It's called Winsock because it's an adaptation for Windows of the Berkeley UNIX sockets interface.
Winsock is an integral part of many computer operating systems.
1.7. The WebSocket protocol is an independent TCP-based protocol.
Windows Socket API, also known as Winsock, is a type of application programming interface (API) used to communicate between Windows network software and network services. It's primarily based on Transmission Control Protocol/Internet Protocol (TCP/IP), and derives its roots from the Berkeley Unix sockets interface.
You might want to look here.
To that, I'd drop one more difference, winsocks supports overlapped I/O (with callbacks etc.) through functions like WSARecv (and other similar), which can make porting to bsd-sockets harder.
Also, most functions in winsocks has their Wsa* counterpart, which sometimes offers more options (or at least requires more parameters ;) ), like [recv](http://msdn.microsoft.com/en-us/library/ms740121(VS.85).aspx) and [WSARecv](http://msdn.microsoft.com/en-us/library/ms741688(VS.85).aspx).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With