我在VB.NET编程.
我想从VB.NET应用程序向不同计算机上的另一个VB.NET应用程序发送一个String或一个Integer.
我查看了一些教程,但所有教程仅适用于本地网络,我希望它可以通过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中将数据发送到另一台远程计算机?
最佳答案 你在说什么是创建一个客户端 – 服务器应用程序.有几种不同的方法可以做到这一点.
最简单的方法是让您的程序与Web应用程序或Web服务进行通信.基本上,您将创建一个程序将连接到并发送数据的站点,或者让它按计划的间隔检查数据.为此,您需要使用某种数据库来保存更新,直到客户端请求它们为止.
第二种选择更复杂,并利用套接字连接.您基本上将使用套接字连接到远程计算机上某个端口上运行的程序.您的程序需要有一个发送类来发送数据以及一个监听器类来等待传入的连接.您还必须记住,您需要在本地防火墙上打开传入端口.由于防火墙问题以及设置套接字连接的复杂性,这是一个更高级的选择.