
MFCでUDPプロトコルを使ったサーバー・クライアントをソケットプログラムで書いております。
ソフトの内容は、クライアントから送信されたの文字列のコマンドをサーバで処理をするだけです。
サーバー側での受信の仕方は
WSAAsyncSelect()関数を使ってソケットイベントが発生するごとに親ウィンドウに自作のメッセージ(WM_MY_MSG)が送られるように設定する
↓
WM_MY_MSGのメッセージハンドラ内でrecvfrom()関数を使って受信する。
という方法を用いています。クライアント2台ぐらいであれば正常に動きます。
質問1:
まだ試したことはないのですが(というより試す環境がない)、ほぼ同時ぐらいに複数(10台ぐらい)のクライアントからコマンドが送信された場合、それを全部正確に受信できるものなのでしょうか?要するに一つのコマンドを処理中に別のコマンドが送られてきた場合の動作はどうなるのでしょうか?
質問2:
UDP通信での受信をする場合の何かもっとスタンダードな方法があるのでしょうか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
普段はMFCのSocketではなく
Winsockを使っていますが基本は同じだと思いますので参考までにコメント致します。
質問1:
同時に複数のクライアントからUDPパケットが送信された場合、
データはまず受信側のSocketのキューに格納されます。
なので1つのコマンドを処理中に別の(次の)コマンドを受信しても問題ありません。キューに格納されます。
シーケンシャルにキュー内からコマンドを取り出し終えるまで同じ処理を続ければ良いかと。
質問2:
MFCのSocketは古いVersionのSocketで、
困った記憶があります。v1.1?
(最新情報ではないかもです)
Winsockに関する良い書籍が出てますので
そちらを直接利用されてはどうでしょうか?
http://bookweb.kinokuniya.co.jp/htm/4797306882.h …
UDPはコネクションレスですし、難しいことはないと思います。
参考URL:http://bookweb.kinokuniya.co.jp/htm/4797306882.h …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(メールソフト・メールサービス) メールサーバーは「PC側がメールをDL済みか否か?」を何を以て感知するのか? 2 2022/12/20 14:56
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- サーバー 接続・ログインはできているのにメールが送信できない 2 2022/06/27 15:03
- サーバー メールサーバーについて詳しい方、メールサーバーの管理業務経験のある方、教えてください。 3 2022/11/12 18:24
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- Gmail gmailで独自ドメインアドレスのメールが届かない件 1 2023/08/25 23:24
- Gmail gmail から docomo メールに送信できません 4 2022/06/25 00:41
- その他(メールソフト・メールサービス) Thunderbirdのメール送信ができません 1 2022/10/28 16:54
- Outlook(アウトルック) OUTLOOK 新規メール送信は出来るが、受信出来ない。 3 2022/06/03 11:06
- その他(メールソフト・メールサービス) hotmail タイムアウトエラー 2 2023/04/16 18:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトが実行中か...
-
コマンドプロンプトで表示が多...
-
ttlで戻り値を取得する方法
-
Tera Term Proに関する質問です。
-
コンボボックス(最終行取得)
-
別のユーザーフォームのコマン...
-
dosバッチ起動後、画面を閉じな...
-
バッチファイルでキー操作を行う。
-
【Teratermマクロ】文字列の一...
-
VBA でshell関数を使ってコマン...
-
"伴われる"は正しい日本語ですか?
-
PowerShellにおけるコマンドの...
-
シェルスクリプトについて
-
octaveで凡例にギリシャ文字
-
ACCESSのサブフォームの...
-
【Python】!rmの意味
-
日付の加算方法 AddDate関数?
-
tcl/tkで標準出力に出される値...
-
JP1起動バッチについて
-
この画像のプログラムを出すコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトが実行中か...
-
コマンドプロンプトで表示が多...
-
ttlで戻り値を取得する方法
-
Tera Term Proに関する質問です。
-
バッチファイルでキー操作を行う。
-
別のユーザーフォームのコマン...
-
VBA でshell関数を使ってコマン...
-
VBユーザーフォームで時間入力
-
【Teratermマクロ】文字列の一...
-
文字の点滅はどうやるのですか?
-
system関数でのシェル起動について
-
EEPROMのデータの初期化について
-
PowerShell実行結果をデスクト...
-
VBでDosコマンドを動かすには
-
ディスクの空き容量を取得する...
-
コンボボックス(最終行取得)
-
"伴われる"は正しい日本語ですか?
-
コマンドキーがないんですけど...
-
CreateProcessでの実行ファイル...
-
DOSコマンドでポートから受信
おすすめ情報