DXライブラリサンプルが動かない理由がわからない
DXライブラリサンプルが動かない理由がわからない
こちらで過去に立てられた同じような質問を見ても原因がわかりません
http://homepage2.nifty.com/natupaji/DxL ... tml#R13N14
のサンプルプログラムです(TCPのほうも出来ませんが、原因は同じではないかと思われるので)
現在、同じルータに接続された二台のコンピュータで試みています。最終的には
サーバー ――― ルータ ――― インターネット ――― ルータ ――― クライアント
としたいです。
IPアドレスはコマンドプロンプトにipconfigと入力し、得られたIPv4の192.168.100.100を入力しました。
エラー原因はまったく心当たりはありませんが、接続が確立されないようです。
使用OSはともにWindows7です
http://homepage2.nifty.com/natupaji/DxL ... tml#R13N14
のサンプルプログラムです(TCPのほうも出来ませんが、原因は同じではないかと思われるので)
現在、同じルータに接続された二台のコンピュータで試みています。最終的には
サーバー ――― ルータ ――― インターネット ――― ルータ ――― クライアント
としたいです。
IPアドレスはコマンドプロンプトにipconfigと入力し、得られたIPv4の192.168.100.100を入力しました。
エラー原因はまったく心当たりはありませんが、接続が確立されないようです。
使用OSはともにWindows7です
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: DXライブラリサンプルが動かない理由がわからない
状況がよくわかりませんが、今はLAN内で通信を試みられているって状況でしょうか?
サーバー ――― ルータ ――― クライアント
ですか?
相手のIPアドレスにpingを打って反応はある状況でしょうか?
サーバー ――― ルータ ――― クライアント
ですか?
相手のIPアドレスにpingを打って反応はある状況でしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: DXライブラリサンプルが動かない理由がわからない
Windows ファイアウォールに許可の受信規則を追加していないということはないですか。
Re: DXライブラリサンプルが動かない理由がわからない
softya(ソフト屋)さん
>状況がよくわかりませんが、今はLAN内で通信を試みられているって状況でしょうか?
そうです
>サーバー ――― ルータ ――― クライアント ですか?
多分・・・・
>相手のIPアドレスにpingを打って反応はある状況でしょうか?
えっと・・・・どういうことでしょうか?pingって・・・・?
YuOさん
確かにServer側が「送信のみ」になっていました。
しかし、「許可」にしても結果は変わりませんでした・・・・orz
>状況がよくわかりませんが、今はLAN内で通信を試みられているって状況でしょうか?
そうです
>サーバー ――― ルータ ――― クライアント ですか?
多分・・・・
>相手のIPアドレスにpingを打って反応はある状況でしょうか?
えっと・・・・どういうことでしょうか?pingって・・・・?
YuOさん
確かにServer側が「送信のみ」になっていました。
しかし、「許可」にしても結果は変わりませんでした・・・・orz
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: DXライブラリサンプルが動かない理由がわからない
これは詳しく説明してもらったほうが良いですね。
pingも知らないとなると通信関係は知識が殆ど無いと言って良いと思います。
・サーバーとクライアントのPCは別PCですか?
・サーバーとクライアントのテストに使ったソースコードを見せてください。codeタグをご利用ください。詳しくはフォーラムルールを。
・サーバーとクライアントのIPアドレスをそれぞれ教えてください。
・コマンドプロンプトでping IPアドレスと打ち込むと通信試験ができます。結果を貼ってくださいね。
以上をお願いします。
pingも知らないとなると通信関係は知識が殆ど無いと言って良いと思います。
・サーバーとクライアントのPCは別PCですか?
・サーバーとクライアントのテストに使ったソースコードを見せてください。codeタグをご利用ください。詳しくはフォーラムルールを。
・サーバーとクライアントのIPアドレスをそれぞれ教えてください。
・コマンドプロンプトでping IPアドレスと打ち込むと通信試験ができます。結果を貼ってくださいね。
以上をお願いします。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: DXライブラリサンプルが動かない理由がわからない
>サーバーとクライアントのPCは別PCですか?
そうです。機種どころかノートとネットブックという違いです
>サーバーとクライアントのテストに使ったソースコードを見せてください。codeタグをご利用ください。詳しくはフォーラムルールを。
コンパイラはVidualStdio2010ExpressEditionです
C++の知識はポインタ、構造体、クラスを使えます
サーバー
クライアント
>サーバーとクライアントのIPアドレスをそれぞれ教えてください。
サーバー:192.168.100.100
クライアント:192.168.100.101
>コマンドプロンプトでping IPアドレスと打ち込むと通信試験ができます。結果を貼ってくださいね。
ping要求ではホストIPアドレスが見つかりませんでした。ホスト名を確認してもう一度実行してください
と出ました
そうです。機種どころかノートとネットブックという違いです
>サーバーとクライアントのテストに使ったソースコードを見せてください。codeタグをご利用ください。詳しくはフォーラムルールを。
コンパイラはVidualStdio2010ExpressEditionです
C++の知識はポインタ、構造体、クラスを使えます
サーバー
#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 ; // ソフトの終了
}
#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 = 100 ;
Ip.d4 = 100 ;
// 文字列の送信
NetWorkSendUDP( NetUDPHandle, Ip, 9850, "メッセージ!!", 15 ) ;
// 送信したよと表示
DrawString( 0, 0, "文字列を送信しました、何かキーを押すと終了します", GetColor( 255,255,255 ) ) ;
// キー入力待ち
WaitKey() ;
// UDPソケットハンドルの削除
DeleteUDPSocket( NetUDPHandle ) ;
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
サーバー:192.168.100.100
クライアント:192.168.100.101
>コマンドプロンプトでping IPアドレスと打ち込むと通信試験ができます。結果を貼ってくださいね。
ping要求ではホストIPアドレスが見つかりませんでした。ホスト名を確認してもう一度実行してください
と出ました
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: DXライブラリサンプルが動かない理由がわからない
クライアントのPCで
ping 192.168.100.100
と打ち込んで「ping要求ではホストIPアドレスが見つかりませんでした。ホスト名を確認してもう一度実行してください」と出た場合はサーバー側のWindowsファイヤウォールかウィルス対策ソフトのファイヤウォールがはじいている可能性が高いです。調べてみてください。
あるいは接続しているスイッチングハブやルーターがLAN内の通信を禁止している可能性もあります。
クライアントで下記ソフトを実行してサーバーは見えるでしょうか?
「Microsoft Windows Network 情報表示プログラム DomainView-- for Windows NT4.0/2000/XP」
http://www.wackyfactory.net/domvw/
ping 192.168.100.100
と打ち込んで「ping要求ではホストIPアドレスが見つかりませんでした。ホスト名を確認してもう一度実行してください」と出た場合はサーバー側のWindowsファイヤウォールかウィルス対策ソフトのファイヤウォールがはじいている可能性が高いです。調べてみてください。
あるいは接続しているスイッチングハブやルーターがLAN内の通信を禁止している可能性もあります。
クライアントで下記ソフトを実行してサーバーは見えるでしょうか?
「Microsoft Windows Network 情報表示プログラム DomainView-- for Windows NT4.0/2000/XP」
http://www.wackyfactory.net/domvw/
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: DXライブラリサンプルが動かない理由がわからない
あ、もしかしてpingってオンラインゲームとかである「応答速度」のことでしょうか?
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: DXライブラリサンプルが動かない理由がわからない
それはpingの機能の一端でしかないですが、オンラインゲームではそういう意味で使われている場合がありますね。史上最悪のデスペナ さんが書きました:あ、もしかしてpingってオンラインゲームとかである「応答速度」のことでしょうか?
「ping - Wikipedia」
http://ja.wikipedia.org/wiki/Ping
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: DXライブラリサンプルが動かない理由がわからない
クライアント側でやってませんでした。しかもサーバー側で「ping IPアドレス」って打ってました・・・
クライアント側でやると
192.168.100.100にpingを送信しています 32バイトのデータ:
要求がタイムアウトしました
要求がタイムアウトしました
192.168.100.101からの応答:宛先ホストに到達できません。
192.168.100.101からの応答:宛先ホストに到達できません。
192.168.100.100のping統計:
パケット数:送信=4、受信=2、損失=2(50%の損失)、
となりました
サーバーが確認できませんでした・・・・
クライアント側でやると
192.168.100.100にpingを送信しています 32バイトのデータ:
要求がタイムアウトしました
要求がタイムアウトしました
192.168.100.101からの応答:宛先ホストに到達できません。
192.168.100.101からの応答:宛先ホストに到達できません。
192.168.100.100のping統計:
パケット数:送信=4、受信=2、損失=2(50%の損失)、
となりました
サーバーが確認できませんでした・・・・
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: DXライブラリサンプルが動かない理由がわからない
サーバーと接続できないと話になりませんので、最悪該当PCとLANケーブルで直結してみてください。
DHCPでIPアドレスが自動割り当てされている場合は、固定IPアドレスにする必要があります。
ところで、DomainViewでは何も表示されなかったのでしょうか?
ネットワークの勉強も最低限行ってください。
「TCP/IP入門」
http://net-newbie.com/tcpip/
「TCP/IP入門 - @IT」
http://www.atmarkit.co.jp/channel/tcpip/tcpip.html
DHCPでIPアドレスが自動割り当てされている場合は、固定IPアドレスにする必要があります。
ところで、DomainViewでは何も表示されなかったのでしょうか?
ネットワークの勉強も最低限行ってください。
「TCP/IP入門」
http://net-newbie.com/tcpip/
「TCP/IP入門 - @IT」
http://www.atmarkit.co.jp/channel/tcpip/tcpip.html
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
- Dixq (管理人)
- 管理人
- 記事: 1662
- 登録日時: 15年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: DXライブラリサンプルが動かない理由がわからない
とりあえず分からないことがあればgoogleで検索してみるといいですよ。
http://www.google.co.jp/#sclient=psy&hl ... 3&bih=1066
pingはネットワークのプログラムを作る上で不可欠なコマンドと言えましょう。
また、ルータを超える場合、ポート解放が難点になります。
http://www.google.co.jp/#sclient=psy&hl ... e96b613019
http://www.google.co.jp/#sclient=psy&hl ... 3&bih=1066
pingはネットワークのプログラムを作る上で不可欠なコマンドと言えましょう。
また、ルータを超える場合、ポート解放が難点になります。
http://www.google.co.jp/#sclient=psy&hl ... e96b613019
Re: DXライブラリサンプルが動かない理由がわからない
WiMax使っているのでLANケーブルがなく、わざわざそのために買うのも・・・という気もするので現在手に入れるため奔走中です。
また、もうすぐ大学の前期試験があるためしばらく放置させていただきます
softya(ソフト屋)さん、申し訳ありませんが、また戻ってきたらよろしくお願いします
Dixq (管理人) さん。もちろん、分からないことはぐぐってますよ~w。それでもわからないことをこちらで質問させていただいてます
また、もうすぐ大学の前期試験があるためしばらく放置させていただきます
softya(ソフト屋)さん、申し訳ありませんが、また戻ってきたらよろしくお願いします
Dixq (管理人) さん。もちろん、分からないことはぐぐってますよ~w。それでもわからないことをこちらで質問させていただいてます
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: DXライブラリサンプルが動かない理由がわからない
短いケーブルなら百均にあります。史上最悪のデスペナ さんが書きました:WiMax使っているのでLANケーブルがなく、わざわざそのために買うのも・・・という気もするので現在手に入れるため奔走中です。
WiMaxの接続設定を変更すれば出来るかも知れませんが学内なら許可が必要かも知れません(セキュリティ的に弱くなるので)。
一番簡単なのはWiMaxから切り離した有線LANのサーバーとクライアントにしてしまう事でしょうね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: DXライブラリサンプルが動かない理由がわからない
クロスケーブルをゲットしたので有線接続したところ、上手くいきました。
やはり、WiMaxの問題でしょうか?WiMaxに関してはこちらで設定をいじれないので・・・・有線のみでがんばってみます。
お騒がせしました
やはり、WiMaxの問題でしょうか?WiMaxに関してはこちらで設定をいじれないので・・・・有線のみでがんばってみます。
お騒がせしました