使用TcpClient和相关的库绝对是正确的答案。用于将数据写入
示例代码到一个特定的IP /端口:
'''
''' Send data over TCP/IP network
'''
''' Data string to write
''' The connected destination TcpClient
Public Sub WriteData(ByVal data As String, ByRef IP As String)
Console.WriteLine("Sending message """ & data & """ to " & IP)
Dim client As TcpClient = New TcpClient()
client.Connect(New IPEndPoint(IPAddress.Parse(IP), My.Settings.CommPort))
Dim stream As NetworkStream = client.GetStream()
Dim sendBytes As Byte() = Encoding.ASCII.GetBytes(data)
stream.Write(sendBytes, 0, sendBytes.Length)
End Sub
使用的TcpListener观看传入的数据。
编辑:对于知道什么IP将其发送到...您可以拥有要连接的内部IP列表,也可以让每台联网的计算机“订阅”到您的程序,如果它静态托管在一个盒子上的话。出于我的目的,当我使用此代码时,主机进程位于已知的服务器上。希望接收消息的客户端进程向主机发送一条快速消息,然后主机会记录该IP以便稍后发送。
获得一个请求的客户端的IP:
''Given variable m_listener is an active TcpListener...
Dim client As TcpClient = m_listener.AcceptTcpClient()
Dim requesterIP As String = client.Client.RemoteEndPoint.ToString().Split(New Char() {":"})(0)