ページ 1 / 1
DXライブラリの通信
Posted: 2016年3月31日(木) 21:26
by とんとん
自分1台のPCでどう確かめたらよいか分からなかったので質問させていただきます。
DXライブラリの通信、NetWorkRecvUDPは1フレームで1回実行するのなら、
受信するべきデータが複数あってもデータの受信は1フレームに1回しか行わないのでしょうか。
それとも受信するべきデータがなくなるまで受信するのでしょうか。
あと、1台のPCで通信関連のプログラムのテストをする方法があるなら教えていただけるとありがたいです。
宜しくお願いします。
Re: DXライブラリの通信
Posted: 2016年3月31日(木) 21:46
by みけCAT
とんとん さんが書きました:DXライブラリの通信、NetWorkRecvUDPは1フレームで1回実行するのなら、
受信するべきデータが複数あってもデータの受信は1フレームに1回しか行わないのでしょうか。
それとも受信するべきデータがなくなるまで受信するのでしょうか。
あくまで予想ですが、受信するべきデータまたは受信バッファの容量がなくなるまで受信すると思います。
なぜなら、
NetWorkRecvUDP関数のリファレンスを見ると、
関数が成功すると通常受信データは受信データキューから削除されますが、 引数 Peek を TRUE にすると受信データがキューにそのまま残ります。 この場合、次に NetWorkRecvUDP を呼んだ場合も前回と同じデータを取得することになります。
という記述があります。
受信データキューがあるということは、NetWorkRecvUDP関数が実行される間に複数のデータを受信できることを示唆していそうです。
また、DXライブラリ 3.15cのDxNetwork.cppを見ると、Winsockの関数をメッセージを利用しながら利用する実装になっているため、
他のWindowsアプリケーションと同様に受信するでしょう。
とんとん さんが書きました:あと、1台のPCで通信関連のプログラムのテストをする方法があるなら教えていただけるとありがたいです。
宜しくお願いします。
単純なものなら、127.0.0.1や仮想マシンを利用するといいでしょう。
Re: DXライブラリの通信
Posted: 2016年4月01日(金) 10:48
by とんとん
ふむふむ。ありがとうございます。仮想マシンのことはすっかり抜けていました。ありがとうございます。
しっかりライブラリのページを読むべきでした。ごめんなさい。
教えてくださってありがとうございます。