Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用vb.net从一台计算机向另一台计算机发送消息?_Vb.net_Networking_Bluetooth_Message - Fatal编程技术网

如何使用vb.net从一台计算机向另一台计算机发送消息?

如何使用vb.net从一台计算机向另一台计算机发送消息?,vb.net,networking,bluetooth,message,Vb.net,Networking,Bluetooth,Message,好的,所以我一直想做这几年现在,它让我感到惊讶的是,没有人能想出一个解决方案。。。我想写一个程序(最好是在vb.net中),它可以向与我连接到同一网络的另一台计算机(或设备)发送消息。我希望消息以弹出消息框的形式出现在其他计算机(或设备)上。此外,如果这可以通过某种蓝牙连接来实现,这将是理想的,如果不能,那么本地ip连接也可以。我不知道我该怎么做,但我知道这是可能的,因为我见过一些程序这样做。。。事实上,我见过一个名为blackrain的程序,在没有安装任何附加软件的情况下,它可以在ipod触摸

好的,所以我一直想做这几年现在,它让我感到惊讶的是,没有人能想出一个解决方案。。。我想写一个程序(最好是在vb.net中),它可以向与我连接到同一网络的另一台计算机(或设备)发送消息。我希望消息以弹出消息框的形式出现在其他计算机(或设备)上。此外,如果这可以通过某种蓝牙连接来实现,这将是理想的,如果不能,那么本地ip连接也可以。我不知道我该怎么做,但我知道这是可能的,因为我见过一些程序这样做。。。事实上,我见过一个名为blackrain的程序,在没有安装任何附加软件的情况下,它可以在ipod触摸屏上显示消息,指示yser做什么,然后在计算机屏幕上几乎立即显示输入的结果。我想知道它是如何工作的,如果有人有任何想法,请随时分享

其他详细信息:

  • 我对vb.net、命令行函数和vbscript有很多经验

  • 我目前正在运行Windows7 Professional x64

  • 我有一个外部蓝牙迷你适配器

  • 我希望这是(如果可能的话)类似于那些ipod/iphone应用程序,让你控制你的笔记本电脑光标在wifi同步;在这个意义上,不需要设置,也不需要额外的软件。(示例:remotepad.ipa)

消息框的代码类似于:

ObjClient = New TcpClient("127.0.0.1", 1000)
TcpClient.Start()
Messagebox.Show("Popup Message Here")
TcpClient.Close()
我知道这段代码在命令提示符中也会做类似的事情:

msg * /SERVER:localhost hello 
msg * hello > localhost
或者,此代码将在命令提示符中执行相同的操作:

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, 0, sendBytes.Length)
End Sub

我还想说,我不知道如何找到另一台计算机的ip地址或其他形式的标识。例如,在命令提示符中,我说“SERVER:localhost”,如何将其发送到本地网络中的特定计算机?(在vb.net和命令提示符中)在命令行中尝试
msg/server:“您的消息”
。如果它对您有效,您可以很容易地从vb执行此命令。我很确定,当您说“没有人找到解决方案”时,这意味着您还没有找到解决方案。@Bala R我正在尝试连接到我家的另一台计算机,那么我如何才能找到他们的ip?这不是“localhost(某种id)”吗?@Jon Martin确实如此,但是如果没有人可以提供解决方案,那么通过扩展。。。“没有人找到解决办法”;或者他们只是太懒了,不想把它贴出来。这真是天才!这正是我要找的,所以如果我想列出当前与我连接到同一网络的计算机(及其远程ip地址)的列表,该怎么办?与命令提示符函数“netstat”类似,只是没有重复项,每台计算机只有一个条目。另外,我现在正在测试您的代码,其中显示“my.settings.commport”,我应该用什么替换commport?因为它说“'commport'不是'windowsapplication1.my.mysettings'的成员”,啊,那将是我的app.config列表中的一个变量。你可以用你喜欢的任何东西来代替它。它表示您要通过其发送数据的端口号。因此,我可以将其替换为(“1000”)吗?如果你能说出我的第一句话那就太好了。。。谢谢我个人并不完全确定以编程方式获取网络中IP列表的最佳方法,抱歉:)