WSAStartup済みかどうかを知る方法 – プログラミング – Home

WSAStartup済みかどうかを知る...
 
通知
すべてクリア

[解決済] WSAStartup済みかどうかを知る方法


idora
 idora
(@idora)
ゲスト
結合: 19年前
投稿: 2
Topic starter  

タイトルの通りです。
ある通信を行うクラスAにてソケットの初期化をしています。
これだけならいいのですが別の通信を行うクラスBでもソケットの初期化をしています。
ここでいう初期化というのはタイトルのWSAStartupです。
おのおのが初期化すると2重になるので別のクラスが初期化済みなら
初期化しない処理を入れようと思ってますが何か方法はありますか?
環境はVC.net2003です。MFCアプリ(ダイアログ)で作成してます、
クラスABではソケットAPIを直接よんでます。
MFCの関数を呼ばずにクラス内で初期化する方向で考えてます。


引用未解決
トピックタグ
通りすがり
 通りすがり
(@通りすがり)
ゲスト
結合: 24年前
投稿: 92
 

WSAStartupを呼び出すシングルトンを作ってしまって、
クラスAとクラスBのメンバに持たせるというのはいかがですか?


返信引用
YuO
 YuO
(@YuO)
ゲスト
結合: 22年前
投稿: 320
 

> おのおのが初期化すると2重になるので別のクラスが初期化済みなら
> 初期化しない処理を入れようと思ってますが何か方法はありますか?

何か問題があるのですか?
http://msdn.microsoft.com/library/en-us/winsock/winsock/wsastartup_2.asp
によると,
>An application or DLL can call WSAStartup more than once if it needs to obtain
the WSADATA structure information more than once.
だそうですが。


返信引用
idora
 idora
(@idora)
ゲスト
結合: 19年前
投稿: 2
Topic starter  

複数回よんでいいなら安心でです。
そのままで生きたいと思います。

通りすがりさん、Yu0さんありがとうございました


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました