我正在使用 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
Run Code Online (Sandbox Code Playgroud)
txtmessage.text是我要发送的字符串。
txtName.Text只是发件人的姓名
cmbAddress.text是远程计算机的IP地址
如何在 VB.NET 中将数据发送到另一台远程计算机?
您所说的是创建客户端-服务器应用程序。您可以通过几种不同的方法来执行此操作。
最简单的方法是让您的程序与 Web 应用程序或 Web 服务对话。基本上,您将创建一个站点,您的程序将连接到该站点并发送数据,或者让它按计划的时间间隔检查数据。为此,您需要使用某种数据库来保存更新,直到客户端请求它们。
第二种选择更复杂,并且利用套接字连接。您基本上将使用套接字连接到远程计算机上某个端口上运行的程序。您的程序需要有一个发送类来发送数据以及一个侦听器类来等待传入连接。您还必须记住,您需要打开两个本地防火墙上的传入端口。由于防火墙问题以及设置套接字连接的复杂性,这是一个更高级的选项。
| 归档时间: |
|
| 查看次数: |
14084 次 |
| 最近记录: |