2015-09-21 96 views
0

我遇到了一些麻烦,很难用文字解释问题,但我会尽我所能。通过IP /端口发送消息计算机

我想从另一台计算机向计算机发送简单消息。没有什么花哨。我已经做了一些研究,并且有很多消息来源说要创建一个脚本来访问Windows中的内置MSG.EXE函数(我目前在Windows 10上),但是,这似乎只适用于连接到局域网的计算机。

从我收集到的信息中,我需要创建一个处理请求的网站:从计算机A获取消息并将其发送到计算机B.可以在不必制作网站的情况下执行此操作(在Powershell或VBS中)专门为它?

我想要什么: 我想计算机A发送一个纯文本邮件的电脑B.最好是,当消息发送成功的消息框出现,上面写着“从:(何人)和消息。使用MSG.EXE做了什么,我想它做的事,但它仅与LAN连接的设备的工作我可以做静态IP这项工作。如果是这样,如何

其它的信息:??

两台电脑不在局域网中,但连接到互联网。

计算机A(发送方)和计算机B(接收方)每个都有一个静态IP地址,但是可以明显改变。

端口在每台计算机上都可用。

我有一个树莓派,可以充当服务器“中间人”,应该是必需的。

要非常清楚:有很多帖子都是关于通过局域网发送消息的。我不想通过局域网发送消息。任何帮助,将不胜感激。

+0

您需要一些证书服务器(VPN或消​​息服务器) – SLaks

+0

本质上,我可以将RPi设置为服务器?如果可能的话,我会通过互联网跋涉以找出如何(尽管一些指针会极其有用) – mottmoore

+1

只需使用Socket.io;它可以让你轻松做到这种推送通知。 – SLaks

回答

2

你为什么想要它以及你想要它做什么的含义很模糊;主要的问题是,家庭互联网连接,内置的东西来连接的,并没有在连接

修正:

  • Port forwarding,你说的“传入连接到这个或那个计算机

  • 建设服务双方都“接出”,即你有地方托管了互联网上的网站,一个计算机连接了发送消息,其他的连接以检查的消息。

除此之外,接下来的问题是知道互联网上的哪个位置连接到哪个位置。

修正:

  • 硬编码终点。静态IP对此很有用,因为the definition of a static IP是它不会改变的地址。神秘的是,你有静态IP可以改变,你认为这是'明显'。 (??)

  • DNS您在哪里注册一个域,并且计算机会查看连接的域名。您使用当前IP更新DNS。

  • DNS您在哪里使用a free DNS service on someone else's name并且您的服务侦听器会在IP更改时更新它。

而在此之后,大多数人的电脑/笔记本电脑/手机都关闭或处于低功耗的睡眠模式的大部分时间,他们的互联网连接是比较可靠的,所以任何随机的消息可能不会回答。

修正:

  • 使用一个严重的网站服务
  • 运行一个永远在线的计算机是服务
  • 对付它是离线和消息是古怪
  • 使用一种存储像电子邮件,像电子邮件和即时通讯的电子邮件等前进系统

从计算机A获取消息并将其发送给计算机B.我可以在不使用网站的情况下执行此操作(在Powershell或VBS中)吗?

是。快速回答:选择一个端口,配置站点B的调制解调器/路由器将端口转发到计算机B.打开计算机B防火墙上的端口。计算机B上,并在计算机A发送写some kind of TCP socket listener,连接到网站的公共IP地址B.

龙答:那么喜欢写自己的消息传递协议,错误处理,消息认证等

选择:做同样的事情,但要去你的rPi。让它听。不是在powershell(sadly)或者vbscript(幸运的是)中,并且它通过HTTP/JSON提供消息,两台计算机都会调用webrequest或invoke-restmethod并通过常规轮询发布/获取它们。

+0

谢谢你提供的信息!在做了更多的研究之后,我确实很懒惰,试图快速解决一个复杂的问题。我决定创建一个通过服务器(无论是电脑,RPi等)来运行的网站或应用程序。 – mottmoore