如何通过网络在两个VB.NET应用程序之间进行通信

时间:2013-09-09 11:48:29

标签: vb.net

我在VB.NET中编程。

我想将VB.NET应用程序中的String或Integer发送到不同计算机上的另一个VB.NET应用程序。

我查看了一些教程,但所有教程仅适用于本地网络,我希望它能够通过Internet工作。

这是我的本地连接代码:

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 address

如何在VB.NET中将数据发送到另一台远程计算机?

1 个答案:

答案 0 :(得分:2)

您所说的是创建客户端 - 服务器应用程序。有几种不同的方法可以做到这一点。

最简单的方法是让您的程序与Web应用程序或Web服务进行通信。基本上,您将创建一个程序将连接到并发送数据的站点,或者让它按计划的间隔检查数据。为此,您需要使用某种数据库来保存更新,直到客户端请求它们为止。

第二种选择更复杂,并利用套接字连接。您基本上将使用套接字连接到远程计算机上某个端口上运行的程序。您的程序需要有一个发送类来发送数据以及一个监听器类来等待传入的连接。您还必须记住,您需要在本地防火墙上打开传入端口。由于防火墙问题以及设置套接字连接的复杂性,这是一个更高级的选择。