tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルソケット通信ができない
記事No10497
投稿日: 2011/04/13(Wed) 14:20
投稿者しん
TCPにて同一PC内でソケット通信を行うアプリケーションを作成してみました。

2台のPCの内、1台(仮に端末A)では何の問題もなく動作するのですが
もう1台のPC(仮に端末B)で同様に動作させると
「SocketException:無効な引数が提供されました。」が発生することがあります。
エラーが発生している場所はBindとlistenを実行している箇所です。


【------ 以下ソース(VB2005) ------】

'ソケットを生成する
Dim soc As Socket = New Socket(AddressFamily.InterNetwork, _
                               SocketType.Stream, _
                               ProtocolType.Tcp)

'同一ポートの複数回利用を許可する(複数接続用)
soc.SetSocketOption(SocketOptionLevel.Socket, _
                    SocketOptionName.ReuseAddress, _
                    True)
'ソケットをBindする
soc.Bind(_clsSrcIP)

'Listenを開始する
soc.Listen(UclsSocketConst.TCP.ServerBacklog)

【------ 以上ソース ------】


端末Aは必ず接続はできますが、端末Bはほとんど接続されません。
(起動時や15分程度放置した後に起動するとうまく接続されます。)
端末A、端末B共にWindowsXP SP2で同機種ですが、端末Aはフォーマット済みで端末Bは
未フォーマットです。環境の問題なんでしょうか?
よろしくお願いします。

[ツリー表示へ]
タイトルRe: ソケット通信ができない(補足)
記事No10498
投稿日: 2011/04/13(Wed) 14:42
投稿者しん
補足ですが、Bindする際の引数にはlocalhost(127.0.0.1)とportを指定しています。

デバック実行にて確認しても無効な値が指定されているわけでもなければ、
portが既に使用されているわけでもなさそうです。(netstatにて確認)
インストールされているFramework等は同じにしてはいますが、端末Bに関しては
元々の設定が不明な為よくわかっていません。(これが一番の問題)

当現象に関連するような設定等あれば教えて頂きたいと思い投稿させていただきました。
よろしくお願いします。

[ツリー表示へ]
タイトルRe^2: ソケット通信ができない
記事No10499
投稿日: 2011/04/14(Thu) 17:56
投稿者花ちゃん
回答ではありません。
どなたからもレスがないようなので。
レスがつかない場合は、質問内容に問題がある場合がほとんどです。

エラーが発生していてその原因が知りたいのに、肝心の引数について当初の質問には
なにも書かれていなかったり、追加で書かれているようですが、どの時点で調べたのかが
書いていないので、どこまで信用していいのやら?

又、環境についても、肝心の端末Bのプログラムは、インストールした物なのか
端末B にもVB2005 が入っていてそれで作成したものなのかとかが解らないし

>端末Bに関しては元々の設定が不明な為よくわかっていません。(これが一番の問題)
この元々の設定とは何を指しておられるのか文書から判断しかねますが。(私だけかも)
又、端末B 以外で試す事はできないのでしょうか?
(環境に問題があるのか、プログラムに問題があるのかを切り分けるような事ができないか)

それから、貴方がなにをどこまで調べられたのかを詳しく書いて頂かないと...。
エラーメッセージをキーに検索等をかけられたのかどうかも解らないので、取り敢えず
--------------------------------------------------------------------------------
ちょっと便利な検索ソフト(http://hanatyan.sakura.ne.jp/yybbs/read.cgi?no=117)
を使って、キーワード【SocketException 無効な引数が提供されました】での検索結果(当サイト内・外の検索でも同じ)

  ヒット件数    検索対象サイト名    検索結果のURL(短く変換しています)
            482 件  ■ウェブ全体から検索       http://tinyurl.com/3oaxz4n
             10 件  ●msdn.microsoft.com/      http://tinyurl.com/42qawhn
              1 件  わんくま同盟               http://tinyurl.com/3bjxu9a
              1 件  アットマーク・アイティ     http://tinyurl.com/3qvz67n
              0 件  DOBON.NET                  http://www.google.co.jp/webhp?hl=ja
              0 件  Visual Basic 中学校        http://www.google.co.jp/webhp?hl=ja
              0 件  Programing Library         http://www.google.co.jp/webhp?hl=ja
              0 件  ★VBレスキュー(花ちゃん)   http://www.google.co.jp/webhp?hl=ja
              0 件  VB初心者友の会             http://www.google.co.jp/webhp?hl=ja
              0 件  WinAPI Database for VB...  http://www.google.co.jp/webhp?hl=ja
              0 件  教えて!goo                http://www.google.co.jp/webhp?hl=ja
              0 件  pin's Laboratory           http://www.google.co.jp/webhp?hl=ja
              0 件  Visual Basic Station       http://www.google.co.jp/webhp?hl=ja
              0 件  C# と VB.NET の入門サイト  http://www.google.co.jp/webhp?hl=ja
              0 件  HIRO's.NET                 http://www.google.co.jp/webhp?hl=ja
--------------------------------------------------------------------------------
上記で解る事は、同様の事象があまり報告されていないと言う事は、仕様やバグ等の類の事
では、なさそうと言う事と事例が少ないという事は、単純ミスか、貴方特有の環境の
可能性が大きいように思えます。

そう言った見方から上記検索結果を見てみると気になる事例が2件ほど見つかりましたが
私は、ソケット通信 はやった事がないし詳しくないので指摘はできませんので、一度
ご自分で確認して見てください。
(セキュリティソフト と Listen メソッドの使い方)

[ツリー表示へ]
タイトルRe^3: ソケット通信ができない
記事No10500
投稿日: 2011/04/15(Fri) 09:29
投稿者しん
> エラーが発生していてその原因が知りたいのに、肝心の引数について当初の質問には
> なにも書かれていなかったり、追加で書かれているようですが、どの時点で調べたのかが
> 書いていないので、どこまで信用していいのやら?

→投稿に馴れていないので書き忘れた事を補足しました。すいません。
 補足内容は初回投稿時にすでに調べていたものです。


> 又、環境についても、肝心の端末Bのプログラムは、インストールした物なのか
> 端末B にもVB2005 が入っていてそれで作成したものなのかとかが解らないし
> >端末Bに関しては元々の設定が不明な為よくわかっていません。(これが一番の問題)
> この元々の設定とは何を指しておられるのか文書から判断しかねますが。(私だけかも)
> 又、端末B 以外で試す事はできないのでしょうか?
> (環境に問題があるのか、プログラムに問題があるのかを切り分けるような事ができないか)
>

→元々動作実績のあるプログラムを他社からレンタルした端末Bで動作
 (Framework2.0のみで動作)させ、通信できなかったので端末Aにて同様のプログラム
 で動作を確認した場合、正常動作を確認したという経緯があります。なので端末B
 に何かしらソケット通信に害のある設定(環境)があるのではないかと考え質問
 させていただきました。(TCP通信を行うフリーソフトでも現象は発生しました。)
 Web上で調査できる事はしたつもですが、解決に至っていません。
 セキュリティソフトはアンインストールしましたし、通信プロパティも端末A、B共に
 変わりはありません。(localhostで接続できないから関係ないような‥)

 ソケット通信(bindやlisten)に影響を与える可能性のあるサービスやプロセス等
 があればご教授いただきたいと思います。

[ツリー表示へ]
タイトルRe^4: ソケット通信ができない
記事No10501
投稿日: 2011/04/15(Fri) 14:01
投稿者しん
インストールされていた「Windows Live おすすめパック(現名: Essentials)」を削除
することで現象は改善されました。
原因については引き続き調査したいと思います。

大変失礼しました。

[ツリー表示へ]