如何使用vb.net将消息从一台计算机发送到另一台计算机?
好的,所以我一直想要这样做几年,让我感到惊讶的是,没有人能想出一个解决方案…我想写一个程序(最好是在vb.net中)可以发送消息给与我连接到同一网络的另一台计算机(或设备).我希望消息显示在弹出消息框中的另一台计算机(或设备)上.此外,如果可以通过某种蓝牙连接完成,那将是理想的,如果没有,那么本地IP连接将会这样做.我不知道我会怎么做但我知道这是可能的,因为我已经看到一些程序这样做…事实上我已经看到一个名为blackrain的程序,没有安装任何额外的软件,可以显示消息一个ipod触摸屏,指示yser做什么,然后几乎立即显示他们在计算机屏幕上输入的结果.如果有人有任何想法,我想知道它是如何工作的,请随时分享!
额外细节: >我有很多vb.net,命令行函数和vbscript的经验. 消息框的代码如下: ObjClient = New TcpClient("127.0.0.1",1000) TcpClient.Start() Messagebox.Show("Popup Message Here") TcpClient.Close() 我知道这段代码在命令提示符中会做同样的事情: msg * /SERVER:localhost hello 或者此代码将在命令提示符中执行相同的操作: msg * hello > localhost 但是如果可能的话,我想在没有任何批处理文件的情况下这样做,因为我不想在另一端设置任何东西. 谢谢! 它与套接字或端口有什么关系吗? 解决方法
使用TcpClient和相关库肯定是正确的答案.
将数据写入特定IP /端口的示例代码: ''' <summary> ''' Send data over TCP/IP network ''' </summary> ''' <param name="data">Data string to write</param> ''' <param name="IP">The connected destination TcpClient</param> 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,sendBytes.Length) End Sub 使用TcpListener来监视传入的数据. http://msdn.microsoft.com/en-us/library/system.net.sockets.tcplistener.aspx 编辑:要知道要将其发送到哪个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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |