C#, C♯, C#相談室 Part52at TECH
C#, C♯, C#相談室 Part52 - 暇つぶし2ch904: ◆BOHwjyHW6o
09/06/12 12:24:43
完全にハマりました。
質問させてください。

今、S/C間の通信プログラムを書いています。
--------
//↓サーバー側プログラム
this.mListener = new TcpListener(IPAddress.Any, 58201);
this.mListener.Start();
clTCPClient = this.mListener.AcceptTcpClient();
--------
//↓クライアント側プログラム
TcpClient tcp = new TcpClient();
tcp.Connect("①", 58201);
--------
①をlocalhostにすると接続が確認できます。
①をグローバルIPにすると接続できなくなります。
SocketExceptionが出ました。
ErrorCodeは10061
エラーメッセージは「対象のコンピュータによって拒否されたため、接続できませんでした。①:59201」と出ました。


905: ◆BOHwjyHW6o
09/06/12 12:26:01
ポートが空いていないのだろうと思い、
URLリンク(www.navnav.jp)
ココでポートの解放チェックを行いました。
結果、ポートは空いていました。
(ポート解放用と思われる接続もサーバー側のAcceptTcpClientでキャッチできました)

①をグローバルIPにして接続を行いたいのですが、どうすれば良いでしょうか?
また、何を確認すべきでしょうか?

環境は以下の通りです。
・PCは1台でテストしています。(OSはXP)
・Visual Studio 2008 で開発を行っています。
・ウィルスバスターは終了させた状態です。
・ルーターはフレッツ光のCTUです。
・ハブはBUFFALOのAirStationをルーターOFFモードで利用しています。


906: ◆BOHwjyHW6o
09/06/12 12:28:30
すいません。エラーメッセージ間違いました。

正しくは、
「対象のコンピュータによって拒否されたため、接続できませんでした。①:58201」
です。

よろしくお願いします。

907:デフォルトの名無しさん
09/06/12 12:33:04
どこか上流でファイアウォールでも動いているんじゃない?

908:デフォルトの名無しさん
09/06/12 12:37:08
ん?
ルータの内側にいるのに,外側のIPに接続しようとしてる?
ルータの実装によるけど,ふつーはつなげないんじゃないかな

909: [―{}@{}@{}-] デフォルトの名無しさん
09/06/12 12:41:36
NAPTしてるのを適切に処理してないって落ちじゃないの

910:777
09/06/12 13:12:08
SqlConnectionStringBuilderでAttachDBFilenameだけをクリア
したいのですが、ヘルプ通りnullを渡すとエラーになります。
他にどんな方法があるんでしょうか?

911:910
09/06/12 13:13:29
申し訳ない。
>>910の名前間違いです。777ではありません

912:デフォルトの名無しさん
09/06/12 13:19:59
SqlConnectionStringBuilder strbld = new SqlConnectionStringBuilder();
strbld.AttachDBFilename = "";

913:910
09/06/12 13:24:23
>>912
やっぱりそれしかないんですね。
最終的な文に"AttachDbFilename=;"が入っちゃうんで消せないかなと
思ってたんですが、そうしておきます。ありがとう。

914: ◆BOHwjyHW6o
09/06/12 13:41:29
>>907-909
返答ありがとうございます。
色々試行錯誤しているのですが、結局駄目でした。
localhostで作業を進め、サーバー立ては次の機会に行います。
ありがとうございました。

915:デフォルトの名無しさん
09/06/12 15:13:46
試行錯誤ってルーターを別の機種にするしか無いんじゃ・・・

916:デフォルトの名無しさん
09/06/12 16:13:14
フレッツ光のCTUは変更できないよ。
専用ルーターだから。

917:デフォルトの名無しさん
09/06/12 19:44:54
>>905
そういうルータ越しの環境だと、自分とこからグローバルIPアドレスでルータを越えてまた自分とこにくる通信は無理だと思う。
クライアントを別の回線(携帯とか友人宅・会社・学校)からやってみたらどう?

918:デフォルトの名無しさん
09/06/12 22:28:23
VS2008Pro、WinXPPro、C#で開発しています。
単体テストの機能を始めて使ってみたのですが、これには
「あるディレクトリ以下にある全てのデータファイルでテストを実施する」
という総当り的な、機能は付いているのでしょうか?

csvで、テストケースを一個一個作成していくのも面倒なので、個人的にはデータファイルを作って、
それをあるディレクトリ以下に放り込めば、勝手にテストしてくれるような機能を期待していたのですが……
やはり、自前で作るしかないですかねぇ。とはいっても、自前で作ってるのは、すでにあって、
今回はそれを既製品に移行しようという話なので、自前で作る云々になると話がズレて来るんです。

どなたか回答をお願いします。

919:デフォルトの名無しさん
09/06/12 22:45:39
自分の場合、ひかりone(旧テプコひかりからの移行なのでちょっと構成が違う)で
「光モデム」-「ルーター(ヤマハ)」-「サーバーやらクライアントやら」
って構成でグローバルIPアドレス指定で内部のクライアントからサーバー見えてるよ

920:デフォルトの名無しさん
09/06/12 22:50:22
>>914はflet'sつまりntt製のモデム兼ルータってことじゃないかと

921:デフォルトの名無しさん
09/06/12 23:13:48
>>913


SqlConnectionStringBuilder strbld = new SqlConnectionStringBuilder();
strbld.AttachDBFilename = "";



SqlConnectionStringBuilder strbld = new SqlConnectionStringBuilder();
strbld.Remove("AttachDBFilename");

922:デフォルトの名無しさん
09/06/13 21:45:53
フォルダが「共有フォルダ」かどうかを知ってアイコンに手のマークを
付けるにはどうしたらいいか知りたく。

「共有フォルダ」の一覧を得るには
System.Management.ObjectQuery oq = new System.Management.ObjectQuery("SELECT * FROM Win32_Share");
これでいいという情報は得ましたものの、これでなくてDirevtoruInfoのAttributes
のように高速で一発でわかる方法があれば尚ありがたく。

またアイコンに手のマークを付けるにはどのようにするものでしょう、
ご指導をいただきたく。


923:デフォルトの名無しさん
09/06/13 21:52:29
別管理なんだから、なんたらInfo からじゃ取れないだろ。
まっとうにやるなら、NetShareEnum() だな。それほど遅くない。

オーバーレイは ImageList_SetOverlayImage() とかで。

924:デフォルトの名無しさん
09/06/13 22:23:34
>>923
おお!!そういう方法があったのですか!
ありがとうございます。勉強してみます!!
助かりました!


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch