1
2
不。 您可以用php编写一个p2p客户机/服务器,但它必须安装在参与的计算机上。 不能让php在Web服务器上运行,这会导致另外两台计算机在没有安装p2p软件的情况下进行通信。 您甚至不能使用javascript来帮助-相同的源站策略会阻止它。 运行浏览器的javascript可以使用一个基于PHP的服务器作为中间人,这样两个客户机就可以进行通信——但是你不能实现P2P。 |
2
1
每台计算机都必须安装PHP二进制文件。 编辑 我在另一篇文章中看到了你提到的基于浏览器的。javascript中的安全限制将禁止这种类型的交互 |
3
1
这是非理论性的,因为服务器端应用程序(php)没有对等端的系统访问权限,这需要定义端口、IP地址等来建立套接字连接。 添加: 但是,如果您要在每个对等的Web服务器中使用PHP,这可能会给您提供所需的功能。 |
4
0
点对点通信不意味着通信直接从一个客户机到另一个客户机,中间没有任何服务器吗?由于PHP是一个基于服务器的软件,我认为你在上面写的任何程序都不能被认为是真正的P2P。 但是,如果您想让客户机到客户机作为中间人与PHP服务器进行通信,这是绝对可能的。 |
5
0
取决于您是否希望浏览器向这个PHP应用程序发送数据。 不过,我已经完全用PHP制作了IRC机器人,它以类似MIRC的方式在我的Web浏览器中显示它们的状态和输出。我只是将超时限制设置为无限,并使用套接字连接到IRC服务器。你可以连接到任何东西。您甚至可以让它监听传入的连接并处理它们。 你不能做的是让浏览器保持双向连接而不中断请求(目前还没有…) |
6
0
不,不是真的。PHP脚本只能运行很短的时间。通常,默认的最大运行时间是两分钟,这通常不足以进行P2P通信。在此之后,脚本将被取消,但服务器管理员可以停用该脚本。但即使在整个下载时间内,服务器和客户机之间的HTTP连接也必须保持不变。此时客户端浏览器将显示其页面加载指示器。如果连接中断,大多数Web服务器都会终止php脚本,从而取消p2p下载。 因此,也许可以实现P2P协议,但是在客户机/服务器场景中,您会遇到PHP脚本执行模型的问题。 |
7
0
是的,但它不是通常所说的p2p,因为中间有一个服务器。不过,我有一种感觉,你想做的是让你的同龄人彼此交流,而不是在他们之间建立一个没有“中间人”服务器的直接连接(这通常是P2P的意思)。 根据可伸缩性要求,实现这种通信可能很简单(客户机上的简单轮询脚本),也可能很苛刻(异步Comet服务器)。 |
Milut · Java:使用服务器在两个客户端之间创建P2P 7 年前 |
cn-ge · 区块链:要与之交互,是否需要安装客户端应用程序? 7 年前 |
manidos · 对称NAT(就ISP而言)的优势是什么? 7 年前 |
kangsouth · 为什么糕点DHT有一个有效的路线 7 年前 |
Chong Lip Phang · 对等:检测到其他对等,但连接未打开 7 年前 |
sdgfsdh · 在我的对等应用程序中,我应该使用多个端口吗? 9 年前 |