ConnectEx

ConnectEx,調用。以前,發動多個連線調用而又不是為每個連線使用一個執行緒的惟一途徑,是使用多個非阻塞連線,但這樣做十分麻煩,不好管理。

基本介紹

  • 外文名:ConnectEx
  • 性質:科學
  • 類別:計算機
  • 屬於:函式
函式說明,函式原型,函式注釋,

函式說明

調用。以前,發動多個連線調用而又不是為每個連線使用一個執行緒的惟一途徑,是使用多個非阻塞連線,但這樣做十分麻煩,不好管理。

函式原型

BOOL
(PASCAL FAR *LPFN_CONNECTEX) (
IN SOCKET s,
IN const struct sockaddr FAR *name,
IN int namelen,
IN PVOID lpSendBuffer,
IN DWORD dwSendDataLength,
OUT LPDWORD lpdwBytesSent,
IN LPOVERLAPPED lpOverlapped
);

函式注釋

第1個參數是預先綁定的套接字。參數 name 表示將要連線到的遠程地址。而 namelen 參數則是這個套接字地址結構長度。lpSendBuffer 參數是一個可選指針,它指向建立連線之後將要傳送的存儲塊,而 dwSendDataLength 參數表示要傳送的位元組數。lpdwBytesSent 參數被更新之後用來指明,在建立連線之後如果操作立刻完成的話,成功傳送的位元組數。lpOverlapped 參數是和該操作關聯的 OVERLAPPED 結構。這個擴展函式只可以用重疊方式調用。
就像 AcceptEX 函式一樣,由於ConnectEx 是為執行而設計的,因此任何預先設定的套接字選項或屬性都不會自動拷貝到連線套接字。為了達到這一目的,在建立連線之後 ,應用程式必須在套接字上調用 SO_UPDATE_CONNECT_CONTEXT。另外,就像 AcceptEx 一樣,已被 TransmitFile、TransmitPackets或DisconnectEx 斷開及重新使用的套接字句柄可以用作 ConnectEx 的套接字參數。
關於 ConnectEx API 沒什麼難題,僅有的要求是,傳遞到 ConnectEx 的套接字必須預選使用一個Bind調用對之進行綁定。這裡也沒什麼特殊的標誌,只是有一個重疊版本的連線,在建立連線後可以選擇性地多傳送一個數據塊

相關詞條

熱門詞條

聯絡我們