1. 程式人生 > >Windows網路程式設計中Socket與WSASocket區別

Windows網路程式設計中Socket與WSASocket區別

這2個函式的主要功能都是建立一個SOCKET,函式定義分別如下:

SOCKET WSAAPI socket(
  _In_ int af,
  _In_ int type,
  _In_ int protocol
);
SOCKET WSASocket(
  _In_ int                af,
  _In_ int                type,
  _In_ int                protocol,
  _In_ LPWSAPROTOCOL_INFO lpProtocolInfo,
  _In_ GROUP              g,
  _In_ DWORD              dwFlags
);

WSASocket比socket多了幾個引數,socket函式是為了和UNIX保持相容而設計的,相當於呼叫預設引數(後3個引數)的socket;
而WSASocket是WinSocket特有的,可以使用windows特有的重疊I/0等。

WSASocket中的WSA的來源:WSA的A是指API,用於區別SPI,因為在SPI中還有wspsocket, wspaccept等。