4

我正在用 VB.NET 编程。

我想将一个字符串或整数从一个 VB.NET 应用程序发送到不同计算机上的另一个 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 地址

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

4

1 回答 1

4

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

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

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

于 2013-09-09T12:08:08.387 回答