トップページ > 記事閲覧
UDP送受信について質問させてください。
名前:教えてください 日時: 2020/08/24 13:23

-- 送信側プログラム ----------------------------------- #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { IPDATA Ip ; // 送信用IPアドレスデータ int NetUDPHandle ; // ネットワークハンドル if( DxLib_Init() == -1 ) // DXライブラリ初期化処理 { return -1; // エラーが起きたら直ちに終了 } // UDP通信用のソケットハンドルを作成 NetUDPHandle = MakeUDPSocket( -1 ) ; // IPアドレスを設定( ここにある4つのIP値は仮です ) Ip.d1 = 192 ; Ip.d2 = 168 ; Ip.d3 = 0 ; Ip.d4 = 14 ; // 文字列の送信 NetWorkSendUDP( NetUDPHandle, Ip, 9850, "メッセージ!!", 15 ) ; // 送信したよと表示 DrawString( 0, 0, "文字列を送信しました、何かキーを押すと終了します", GetColor( 255,255,255 ) ) ; // キー入力待ち WaitKey() ; // UDPソケットハンドルの削除 DeleteUDPSocket( NetUDPHandle ) ; DxLib_End() ; // DXライブラリ使用の終了処理 return 0 ; // ソフトの終了 } -- 受信側プログラム ----------------------------------- #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { char StrBuf[ 256 ] ; // データバッファ int NetUDPHandle ; // ネットワークハンドル if( DxLib_Init() == -1 ) // DXライブラリ初期化処理 { return -1; // エラーが起きたら直ちに終了 } // UDP通信用のソケットハンドルを作成 NetUDPHandle = MakeUDPSocket( 9850 ) ; // 受信待ちだよと表示 DrawString( 0, 0, "受信待ち", GetColor( 255,255,255 ) ) ; // 文字列の受信を待つ while( CheckNetWorkRecvUDP( NetUDPHandle ) == FALSE ) { // ウインドウズメッセージ処理 if( ProcessMessage() < 0 ) break ; } // 受信 NetWorkRecvUDP( NetUDPHandle, NULL, NULL, StrBuf, 256, FALSE ) ; // 受信した文字列を画面に描画 ClearDrawScreen() ; DrawString( 0, 0, StrBuf, GetColor( 255,255,255 ) ) ; // キー入力待ち WaitKey() ; // UDPソケットハンドルの削除 DeleteUDPSocket( NetUDPHandle ) ; DxLib_End() ; // DXライブラリ使用の終了処理 return 0 ; // ソフトの終了 } 関数リファレンスページのサンプルプログラムなのですが、送信側のネットワークハンドルのポートの値を-1から9850(受信側も9850に設定されてある。) に変更すると送信がうまくいかなくなるのは、どうしてなのでしょうか。
メンテ

Page: 1 |

Re: UDP送受信について質問させてください。 ( No.1 )
名前:教えてください 日時:2020/08/24 13:25

動作環境は一台のパソコンで、二窓して試しているって感じです。
メンテ
Re: UDP送受信について質問させてください。 ( No.2 )
名前:でぃあぶろ 日時:2020/08/28 12:52

送信プログラムと受信プログラムで同じポート番号を使用することはできません. リファレンスページにも >>尚、一つのマシンではソフトが違っても同じポート番号を持つソケットを同時に複数作成・保持することはできませんので注意してください。 とあります.
メンテ
Re: UDP送受信について質問させてください。 ( No.3 )
名前:教えてください 日時:2020/08/24 22:26

ありがとうございます! 読み損ねていました、、
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存