C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: UDP通信アプリの2重起動について


(過去ログ 119 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■70172 / inTopicNo.1)  UDP通信アプリの2重起動について
  
□投稿者/ にこにこ (4回)-(2014/02/26(Wed) 22:28:29)

分類:[VB.NET/VB2005 以降] 

(開発環境)
・VB2010
・OS:Windows7

USP通信用のアプリを作成し、EXEファイルで2つ以上起動させたいのですが、
2つ目を起動できません。
ポートが同じだとできないのでしょうか?

以下、概要のプログラムです。

Public Class Form1

' ソケット生成
Private objSck As New System.Net.Sockets.UdpClient(60000)

Private Sub Form1_Load( _
ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles MyBase.Load
' ソケット接続
objSck.Connect("192.168.1.100", 60000)

End Sub

Private Sub Form1_FormClosed( _
ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) _
Handles MyBase.FormClosed
' ソケットクローズ
objSck.Close()
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' ソケット送信
Dim dat As Byte() = _
System.Text.Encoding.GetEncoding("SHIFT-JIS").GetBytes("abc123")
objSck.Send(dat, dat.GetLength(0))

End Sub

End Class

引用返信 編集キー/
■70173 / inTopicNo.2)  Re[1]: UDP通信アプリの2重起動について
□投稿者/ επιστημη (101回)-(2014/02/26(Wed) 23:19:58)
> USP通信用のアプリを作成し、EXEファイルで2つ以上起動させたいのですが、
> 2つ目を起動できません。
> ポートが同じだとできないのでしょうか?

訊くまでもない。違うポートでやってみればいいぢゃん。

引用返信 編集キー/
■70174 / inTopicNo.3)  Re[2]: UDP通信アプリの2重起動について
□投稿者/ にこにこ (6回)-(2014/02/27(Thu) 07:23:04)
>
> 訊くまでもない。違うポートでやってみればいいぢゃん。

επιστημη 様
お世話になります。

質問の仕方が悪かったです。
違うポートにすればできるのですが、同じポートを指定した場合
2つ目以降は起動できないでしょうか?
引用返信 編集キー/
■70175 / inTopicNo.4)  Re[3]: UDP通信アプリの2重起動について
□投稿者/ しま (66回)-(2014/02/27(Thu) 10:08:58)
No70174 (にこにこ さん) に返信
> 質問の仕方が悪かったです。
> 違うポートにすればできるのですが、同じポートを指定した場合
> 2つ目以降は起動できないでしょうか?

二つ目以降が起動できないについて二つ目のアプリケーションのフォームが画面上に出てこず、対象のアプリケーションが
タスクバーにも、タスクマネージャーにも一つしか見えないという意味で使っていますか?

そうでないなら、起動できないではなくて、通信できないとか、正常に動作しないとか別の表現を使いましょう。

ところで、UDP でのポートは何のために指定するのか分りますか?
二つのアプリケーションが、同時に同じポートを使うと宣言(ポートを開く)することが出来たら
OSはどちらのアプリケーションに通信サービスを提供すればいいのでしょう?
引用返信 編集キー/
■70176 / inTopicNo.5)  Re[4]: UDP通信アプリの2重起動について
□投稿者/ 774RR (133回)-(2014/02/27(Thu) 10:31:18)
TCP/UDP の基礎として
・サーバーソフトは自分のポートを指定して使う(それが待ち受けポート)
・クライアントソフトは自分のポートは指定せず使う(通常は自分側ポート番号はシステム任せ)
ということが理解できているかな?

クライアント側ソフトは bind しちゃダメ。
というあたりが理解できていないようなら、もう少しネットワークの勉強してから手をつけよう。

http://msdn.microsoft.com/ja-jp/library/35e07es2(v=vs.110).aspx
にも System.Net.Sockets.UdpClient(int port) は普通は使わないと書いてあるよ。
引用返信 編集キー/
■70192 / inTopicNo.6)  Re[5]: UDP通信アプリの2重起動について
□投稿者/ にこにこ (7回)-(2014/02/28(Fri) 00:23:23)
しま様
774RR様

お世話になります。

御二方のおっしゃる通りで、ネットワークの基礎がわかってないので勉強します。
ポートの宣言の仕方、あるいは宣言すべきかどうかも含め調べてみたいと思います。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -