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
おお!!そういう方法があったのですか!
ありがとうございます。勉強してみます!!
助かりました!