
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ランキング
-
コマンドプロンプトが実行中か...
-
コマンドプロンプトで表示が多...
-
VBA でshell関数を使ってコマン...
-
ttlで戻り値を取得する方法
-
Tera Term Proに関する質問です。
-
バッチファイルでキー操作を行う。
-
別のユーザーフォームのコマン...
-
VBでDosコマンドを動かすには
-
コンボボックス(最終行取得)
-
DOSコマンドでポートから受信
-
カーネルモジュール
-
"伴われる"は正しい日本語ですか?
-
コマンドプロンプトですべてのU...
-
vbaで座標を指定してコマンドプ...
-
c言語を勉強し始めたばかりの...
-
シリアル通信でコマンドを送信...
-
PowerShellにおけるコマンドの...
-
CreateProcessでの実行ファイル...
-
IBMメインフレームの勉強法
-
HEXから元に戻すには
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトが実行中か...
-
ttlで戻り値を取得する方法
-
コマンドプロンプトで表示が多...
-
バッチファイルでキー操作を行う。
-
Tera Term Proに関する質問です。
-
別のユーザーフォームのコマン...
-
VBユーザーフォームで時間入力
-
コマンドプロンプトですべてのU...
-
コンボボックス(最終行取得)
-
【Teratermマクロ】文字列の一...
-
ルーターにつながっている全て...
-
RTX1100の削除コマンド
-
EEPROMのデータの初期化について
-
PowerShell実行結果をデスクト...
-
system関数でのシェル起動について
-
DOSコマンドでポートから受信
-
VBA でshell関数を使ってコマン...
-
C#でローカルユーザーやグルー...
-
パワーシェル 画面解像度 変更
-
文字の点滅はどうやるのですか?
おすすめ情報