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