暂时停止客户端连接到套接字

时间:2012-10-31 17:20:05

标签: php sockets

我需要同时制作一个服务器和客户端的脚本。

这需要从听力到尝试连接交替。

有没有办法暂时阻止任何客户端连接到客户端模式并尝试连接?

据我所知,只有一种永久性的方法来阻止这种情况,这将涉及再次开始听,我试图避免这种情况。

这个想法是,它将在多个服务器上运行,并且必须连接到自身。

每次建立连接时,一旦他们交换了他们需要交换的东西,每一方都会从(客户/目的地)列表中删除另一个。

所以我需要一种方法来阻止侦听器,当它尝试连接时,在极少数情况下两次尝试在同一时间相互连接,并购买挂起等待被接收,但这不会发生。

1 个答案:

答案 0 :(得分:0)

你可以这样做:

  • close()监听套接字(可能需要时重新打开)
  • 如果监听套接字变得可读,请不要再调用accept()(您可以使用它几秒钟,但确实使用了OS资源)
  • 调用accept(),但立即关闭()生成的套接字。 (这很粗鲁......)

以上三个选项来自systemcall / OS级别。我不知道PHP如何实现(或包装)它们。