- PR -

C/S型のWindowsアプリケーションが他のコンピュータで動かない

投稿者投稿内容
るる
会議室デビュー日: 2003/11/06
投稿数: 16
投稿日時: 2004-01-16 14:00
こんにちは。皆様。

クライアント・サーバ型のWindowsアプリケーションを開発しました。
そこで、重要な問題が発生しました。もし、何か助言を頂けましたら、大変助かります。

クライアントとサーバが同じ場所にあれば、クライアントから
サーバのIPアドレス(127.0.0.1ではない)を指定して実行すると動くのですが、
サーバとクライアントが別のところにある場合、クライアントから
サーバのIPアドレスを指定して実行させると動きません。

試した別のコンピュータには、同じVisualStudioが入っていますし、
同じように別のコンピュータでサーバを実行し、その後クライアントを実行させれば
動きます。

DLLの設定が悪い、Configファイルに問題があるのではないかと思い、
確認致しましたが、問題はありませんでした。

もし、何か調べるべきポイントがありましたら、ご教授ください。

初歩的な質問ではございますが、どうぞよろしくお願い申し上げます。
KATSU
常連さん
会議室デビュー日: 2003/02/13
投稿数: 33
お住まい・勤務地: 静岡県
投稿日時: 2004-01-16 14:42
引用:

るるさんの書き込み (2004-01-16 14:00) より:
クライアントとサーバが同じ場所にあれば、クライアントから
サーバのIPアドレス(127.0.0.1ではない)を指定して実行すると動くのですが、
サーバとクライアントが別のところにある場合、クライアントから
サーバのIPアドレスを指定して実行させると動きません。


「動かない」とは具体的にどのような現象が何処で発生しているのでしょうか?

TCP/IP通信が出来ないということでしょうか?
動かないクライアント、サーバ間でpingは通りますか?

WindowsXPの場合、Windowsのファイアーウォールが効いていたり、
他のOSの場合でも、ウイルス監視ソフトについている、
パーソナルファイアウォールが邪魔をしてるなんてことはないですか?

それとも、アプリケーション上でなにかエラーが出るのでしょうか?
るる
会議室デビュー日: 2003/11/06
投稿数: 16
投稿日時: 2004-01-16 15:40
早速のご返答ありがとうございます!

>「動かない」とは具体的にどのような現象が何処で発生しているのでしょうか?

@まず、初めにプログラムを起動します。
⇒すると、IPアドレスを設定するダイアログが表示されます。
AそのダイアログにサーバーのIPアドレスを入力してOKボタンを押します。
⇒すると、通信プログラムが実行されます。

この、AのOKボタンを押した後のプログラムが起動しないのです。
そして、しばらくして「例外System.Runtime.Remoting.RemotingExceptionがClient.exe
で発生しました。」と表示されます。

>TCP/IP通信が出来ないということでしょうか?
>動かないクライアント、サーバ間でpingは通りますか?

pingは通ります。telnetで少しだけ反応もします(すぐ切られますが)。

>WindowsXPの場合、Windowsのファイアーウォールが効いていたり、
>他のOSの場合でも、ウイルス監視ソフトについている、
>パーソナルファイアウォールが邪魔をしてるなんてことはないですか?

ウィルス監視ソフトは入れていないので、ウイルス監視ソフトについている、
パーソナルファイアウォールが邪魔をしてるなんてことはありません。
ただ、WindowsXPのファイアーウォールは、念のため調べてみたいと思います。
どのようにして調べれば良いか、お教え願えないでしょうか。

また、片方はWindows2000で、片方はXPで試しました。
サーバとクライアントのPCを変えても動きませんでした。

よろしくお願いします。
るる
会議室デビュー日: 2003/11/06
投稿数: 16
投稿日時: 2004-01-16 15:57
また、デバッガを使って、クライアント側のプログラムを実行しましたら、次のような
エラーが出ました。

'System.Runtime.Remoting.RemotingException' のハンドルされていない例外が mscorlib.dll で発生しました。

追加情報 : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The requested URL could not be retrieved</TITLE>
<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
</HEAD><BODY>
<H1>ERROR</H1>
<H2>The requested URL could not be retrieved</H2>
<HR noshade size="1px">
<P>
While trying to retrieve the URL:
<A HREF="http://192.168.***.**:2445/ad6fde96_3279_464e_965b_96f5c0676fa4/16198687_1.rem">http://192.168.***.**:2445/ad6fde96_3279_464e_965b_96f5c0676fa4/16198687_1.rem</A>
<P>
The following error was encountered:
<UL>
<LI>
<STRONG>
Connection Failed
</STRONG>
</UL>

<P>
The system returned:
<PRE><I> (60) Operation timed out</I></PRE>

<P>
The remote host or network may be down. Please try the request again.
<P>Your cache administrator is <A HREF="mailto:webmaster">webmaster</A>.

<BR clear="all">
<HR noshade size="1px">
<ADDRESS>
Generated Fri, 16 Jan 2004 06:52:21 GMT by squid.**.***.**.jp (squid/2.5.STABLE1)
</ADDRESS>
</BODY></HTML>

よろしくお願いします。
#一部*で情報を隠しています。
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2004-01-16 16:18
引用:

@まず、初めにプログラムを起動します。
⇒すると、IPアドレスを設定するダイアログが表示されます。
AそのダイアログにサーバーのIPアドレスを入力してOKボタンを押します。
⇒すると、通信プログラムが実行されます。


えと、この場合のプログラムって、サーバプログラムなんでしょうか?それともクライアント?

まさかと思うんですが、サーバプログラムを立ち上げてから、クライアントを動かしてみていますよね?
るる
会議室デビュー日: 2003/11/06
投稿数: 16
投稿日時: 2004-01-16 16:43
>えと、この場合のプログラムって、サーバプログラムなんでしょうか?それともクライアント?

>まさかと思うんですが、サーバプログラムを立ち上げてから、クライアントを動かしてみていますよね?

はい、それは大丈夫です。(笑)
ちゃんと、サーバプログラムを立ち上げてから、クライアントを動かしています。
そして、@とAの動作はクライアント側の動作です。

よろしくお願いします。
iStation
大ベテラン
会議室デビュー日: 2003/12/08
投稿数: 158
投稿日時: 2004-01-16 16:51
引用:

クライアント・サーバ型のWindowsアプリケーションを開発しました。


リモートオブジェクトは、サーバー・アクティブ化ですか、それともクライアント・アクティブ化ですか?
KATSU
常連さん
会議室デビュー日: 2003/02/13
投稿数: 33
お住まい・勤務地: 静岡県
投稿日時: 2004-01-16 17:24
>Generated Fri, 16 Jan 2004 06:52:21 GMT by squid.**.***.**.jp (squid/2.5.STABLE1)

squid(プロキシ)がエラー返してきてますが、どのようなネットワークで動作させているのでしょうか?
プロキシを経由させているのですか?
(経由させるつもりがないのに経由している??)

スキルアップ/キャリアアップ(JOB@IT)