CAsyncSocket::Create
ソケットのオブジェクトを Windows ソケットを作成し、アタッチするには [作成] の構築後、メンバー関数を呼び出します。
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
Windows ソケットにポートを選択して、ソケットによって使用される既知のポートまたは 0。nSocketType
SOCK_STREAM か SOCK_DGRAM。lEvent
アプリケーションが目的のネットワーク イベントの組み合わせを指定するマスク。FD_READ は読み取り用に準備通知を受信する場合。
FD_WRITE を書き込むための準備通知を受信する場合。
FD_OOB は、帯域外のデータの到着通知を受信する場合。
FD_ACCEPT は、着信接続通知を受信する場合。
FD_CONNECT は、完了のつながり通知を受信する場合。
FD_CLOSE は、ソケットのクロージャの通知を受信する場合。
lpszSockAddress
ソケット接続された、"128.56.22.8" のような点を打たれた数のネットワーク アドレスを含む文字列へのポインター。このパラメーターの [NULL] 文字列を渡すことは CAsyncSocket のインスタンスがすべてのネットワーク インターフェイスのクライアントのアクティビティを待機する必要があることを示します。
戻り値
関数が正常に終了した場合は、; は 0 と特定のエラー コードは GetLastErrorを呼び出して取得できます。このエラーは、次のメンバー関数に適用されます:
WSANOTINITIALISED は正常に AfxSocketInit は、この API を使用する前に行う必要があります。
WSAENETDOWN は、Windows ソケット実装ネットワークのサブシステムが失敗したことを検出しました。
WSAEAFNOSUPPORT は、指定したアドレス ファミリ サポートされていません。
WSAEINPROGRESS A のブロックの Windows ソケット処理は進行中です。
WSAEMFILE にこれ以上のファイル記述子使用できません。
WSAENOBUFS バッファー領域は使用できません。ソケットは作成できません。
WSAEPROTONOSUPPORT が特定のポートはサポートされていません。
WSAEPROTOTYPE が特定のポートこのソケットの間違った型です。
WSAESOCKTNOSUPPORT は、このアドレス ファミリに型指定されたソケット サポートされていません。
解説
[作成] は [ソケット] を呼び出し、成功した場合は、指定したアドレスのソケットをバインドするには [バインド] を呼び出します。次のソケットの型がサポートされます:
、信頼できる配列される、双方向通信しますSOCK_STREAM のつながり、ベースのバイト ストリーム。インターネット アドレス ファミリに伝送制御プロトコル (TCP) を使用します。
SOCK_DGRAM はコネクションレスである、データグラム、固定 (通常は小さい) 最大長の信頼できないパケット サポートします。インターネット アドレス ファミリのユーザー データグラム プロトコル (UDP) を使用します。
[!メモ]
[同意する] のメンバー関数は、パラメーターとして CSocket の新しい空のオブジェクトへの参照を受け取ります。[同意する]を呼び出す前にこのオブジェクトを構築する必要があります。このソケットのオブジェクトがスコープの出かけたら、つながりを閉じることに注意してください。この新しいソケットのオブジェクトの [作成] を呼び出さないでください。
重要 |
---|
[作成] は not のスレッド セーフです。異なるスレッドで同時に開始するマルチスレッド環境で呼び出すと、ミューテックスまたは他の同期とロックの各呼び出しを保護しておいてください。 |
ストリームに関する詳細については、データグラム ソケットは、" " Windows ソケット: [背景] と Windows ソケット: ソケットのアドレスとポート と Windows ソケット API 2を参照してください。
必要条件
Header: afxsock.h