WSACreateEvent

[戻る]
としろー 2007/10/22(月) 19:19:07
Win2000、VC++6.0 MFC使用です

CSocketを使用しTCP/IPプログラムを作成しています。

処理の中でWSACreateEventを使用したいのですが、
afxsock.hでincludeされているwinsock.hには定義されていないようです。
そこでwinsock2をincludeしようとしましたが既にwinsock.hがincludeされているためコンパ
イルエラーになってしまいます。

afxsock.hとwinsock2の両存は無理なのでしょうか?

+ 2007/10/23(火) 09:02:32
MFCソケットは、winsock2はサポートしていません。
MFCのソースコード上で#pragma comment ( lib , "WSOCK32.lib")
などとハードコーディングされてるしね。

WSA****関数を使いたいなら、MFCソケットから決別するべき。


#include "winsock2.h"
#pragma comment ( lib , "ws2_32.lib")

+ 2007/10/23(火) 09:26:23
ネットワーク通信の勉強のためにMFCソケットで送受信の実験。
であればいいですが、もし実際の業務でしたらMFCソケットは
使わないほうがいいです。

簡単な送受信機能だけで、かゆいところに全く手が届きませんから。
ソケット通信自体、大して難しくないのでご自分でwinsock2をラップした
独自のソケットクラスを作ることを強く推奨します。

としろー 2007/10/23(火) 15:23:07
[[解決]]
ありがとうございました。

MFCソケットを使わない形で進めたいと思います。

しろーと 2007/10/23(火) 19:33:47
>もし実際の業務でしたらMFCソケットは使わないほうがいいです。

私はしろーとですが、MFCソケットは特に不便なく使っています。
どうして使わないほうがいいのでしょうか。。。

+ 2007/10/24(水) 10:33:53
掲題の件は、明らかにMFCソケットでwinsock2の機能を
使うとしているので、アドバイスしたまです。

しろーとさんがしろーとさんなりにMFCソケット使って
問題なければそれでいいと思います。
要は使い方です。

古いスレッドには追加発言できません。