4

私はVB.NETでプログラミングしています。

VB.NET アプリケーションから別のコンピューター上の別の VB.NET アプリケーションに文字列または整数を送信したいと考えています。

いくつかのチュートリアルを見ましたが、すべてのチュートリアルはローカル ネットワーク上でしか動作せず、インターネット上で動作するようにしたいと考えています。

これはローカル接続用の私のコードです:

Dim Listener As New TcpListener(34349)
Dim Client As New TcpClient
Dim Message As String = ""


Private Sub Timer1_Tick(ByVal sender As System.Object, _
                        ByVal e As System.EventArgs) _
                        Handles Timer1.Tick

    If Listener.Pending = True Then
        Message = ""
        Client = Listener.AcceptTcpClient()
        Dim Reader As New StreamReader(Client.GetStream())
        While Reader.Peek > -1
            Message = Message + Convert.ToChar(Reader.Read()).ToString
        End While
        RichTextBox1.ForeColor = Color.Black
        RichTextBox1.Text += Message + vbCrLf
    End If
End Sub


Private Sub btnSend_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) _
                          Handles btnsend.Click

    If txtName.Text = "" Or cmbAddress.Text = "" Then
        MessageBox.Show("All Fields must be Filled", _
                        "Error Sending Message", _
                        MessageBoxButtons.OK, _
                        MessageBoxIcon.Error)
    Else
        Try
            Client = New TcpClient(cmbAddress.Text, 34349)
            Dim Writer As New StreamWriter(Client.GetStream())
            Writer.Write(txtName.Text & " Says:  " & txtmessage.Text)
            Writer.Flush()
            RichTextBox1.Text += (txtName.Text & " Says:  " & txtmessage.Text) + vbCrLf
            txtmessage.Text = ""

        Catch ex As Exception
            Console.WriteLine(ex)
            Dim Errorresult As String = ex.Message
            MessageBox.Show(Errorresult & vbCrLf & vbCrLf & "Please Review Client    Address", "Error Sending Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End If
End Sub

txtmessage.text送信したい文字列です。

txtName.Text送信者の名前だけです

cmbAddress.textリモート コンピューターのIP アドレスです。

VB.NET で別のリモート コンピューターにデータを送信するにはどうすればよいですか?

4

1 に答える 1

4

あなたが話しているのは、クライアントサーバーアプリケーションの作成です。これを行うには、いくつかの方法があります。

最も簡単な方法は、プログラムに Web アプリケーションまたは Web サービスと通信させることです。基本的に、プログラムが接続してデータを送信するサイトを作成するか、スケジュールされた間隔でデータをチェックするようにします。このためには、何らかのデータベースを使用して、クライアントが要求するまで更新を保持する必要があります。

2 番目のオプションはより複雑で、ソケット接続を利用します。基本的にソケットを使用して、リモート マシンの特定のポートで実行されているプログラムに接続します。プログラムには、データを送信する送信クラスと、着信接続を待機するリスナー クラスが必要です。また、両方のローカル ファイアウォールで受信ポートを開く必要があることに注意する必要があります。ファイアウォールの問題と、ソケット接続の設定が複雑なため、これははるかに高度なオプションです。

于 2013-09-09T12:08:08.387 に答える