CAsyncSocket::Create
在建構通訊端物件之後建立 Windows Sockets 和附加它呼叫 Create 成員函式。
BOOL Create(
UINT nSocketPort = 0,
int nSocketType = SOCK_STREAM,
long lEvent = FD_READ | FD_WRITE | FD_OOB | FD_ACCEPT | FD_CONNECT | FD_CLOSE,
LPCTSTR lpszSocketAddress = NULL
);
參數
nSocketPort
已知通訊埠會搭配通訊端,則為 0。如果您想要 Windows Sockets 選取通訊埠。nSocketType
SOCK_STREAM 和 SOCK_DGRAM。lEvent
指定 Web 事件將應用程式有興趣的位元遮罩。FD_READ 要接收準備告知讀取。
FD_WRITE 要接收準備告知寫入。
FD_OOB 要接收 Out-of-Band 資料抵達的通知。
FD_ACCEPT 要接收連入連線的通知。
FD_CONNECT 要接收完成連接的通知。
FD_CLOSE 要接收通訊端關閉的通知。
lpszSockAddress
out 包含已連接的通訊端,會使用按數字的網路位址之字串的指標 (例如「128.56.22.8」。將這個參數的空字串表示 CAsyncSocket 執行個體應該接聽在所有網路介面上用戶端活動。
傳回值
非零值,如果函式成功;否則 0 和特定錯誤代碼可透過呼叫 GetLastError擷取。下列錯誤套用至此成員函式:
WSANOTINITIALISED 的成功的 AfxSocketInit 必須在使用此應用程式開發介面之前發生。
WSAENETDOWN Windows Sockets 實作偵測網路子系統失敗。
WSAEAFNOSUPPORT 之通訊協定家族不支援。
WSAEINPROGRESS 的封鎖 Windows 通訊端作業正在進行中。
WSAEMFILE 沒有其他檔案描述項沒有可用的。
WSAENOBUFS 不是緩衝區空間可用。通訊端無法建立。
WSAEPROTONOSUPPORT 指定連接埠不支援。
WSAEPROTOTYPE 指定連接埠是這個通訊端的錯誤的類型。
WSAESOCKTNOSUPPORT 指定通訊端型別在這個通訊協定家族不支援。
備註
Create 呼叫 通訊端 ,而且,如果成功,則呼叫 繫結 繫結通訊端到指定位址。下列通訊端類型支援:
SOCK_STREAM 序列,提供可靠,全雙工,以連接的位元組資料流。用於網際網路位址家族會使用傳輸控制通訊協定 (TCP) (TCP)。
SOCK_DGRAM 支援資料包,是內建的 (通常是小) 最大長度無連線,不可靠的封包。用於網際網路位址家族使用使用者資料包通訊協定 (UDP) (UDP)。
注意事項 Accept 成員函式會取得對新,空的 CSocket 物件的參考做為它的參數。在您呼叫 Accept之前,您必須建構此物件。請記住,如果這個通訊端物件超出範圍,關閉連接。不要呼叫這個新物件的通訊端 Create 。
重要事項 |
---|
Createnot 是安全執行緒。如果您呼叫在它可以從不同執行緒同時叫用的多執行緒環境中,請務必保護 Mutex 或其他同步鎖定的每個呼叫。 |
如需資料流的詳細資訊和資料包通訊端,請參閱文件 Windows Sockets:背景 、 Windows Sockets:通訊埠和通訊端位址。 和 Windows Sockets 2 API。。
需求
Header: afxsock.h