我想编写一个应用程序,它可以在不同的计算机上运行,并且需要所有这些计算机像“utorrent”(点对点)一样相互通信。此应用程序只会发送短信。
我怎样才能做到这一点?我的意思是向互联网上的远程计算机发送一条消息?
我有一个网站,开始时每个应用程序都可以向它发送一些信息,并在其他计算机上查找其他应用程序的信息(使用 PHP),但我不知道如何通过互联网寻址一台计算机并将数据直接发送到该计算机。我可以用PHP找到IP地址,但它是路由器(ISP)的IP地址。
消息如何到达计算机?我想知道要对每台计算机进行寻址吗?
我的大脑真的卡在这里,我真的很感激任何帮助。谢谢。
在对等网络中,没有用于将数据从一个客户端传输到另一个客户端的中央服务器,在这种情况下,客户端必须能够同时充当服务器和客户端。这意味着要么您必须像大多数现代 Torrent 客户端一样使用 UPnP,它在路由器中处理端口转发,要么您必须手动将端口转发到路由器中的计算机。
集中式服务器(如 torrent 跟踪器)通常用于让客户端知道彼此的存在并告诉他们在哪里连接。这就是您的 PHP 脚本的用武之地,尽管 PHP 可能不会提供最有效的方式来执行此操作,假设您将它与网络服务器结合使用以通过 http 协议提供数据。
至于实际的文本通信,您可以使用 Indy 套接字库。我找到了这个例子,基本上展示了如何做到这一点:http : //www.ciuly.com/delphi/indy/indy-10-client-server-basic-demo/