PHP持久套接字连接

时间:2013-12-05 19:44:04

标签: php sockets

我有以下架构。

  • 一个可以通过外部软件与外部软件通信的Windows应用程序 定义的端口。
  • 在同一本地主机上运行的Web应用程序。
  • PHP脚本充当这两方之间的连接器。

我从webapplication AJAX-request到php-script,它应该与windows应用程序建立连接并发送给web应用程序它的响应。

效果很好。 但只有一次。 对php-script的第二次调用已经无效,因为窗口应用程序拒绝访问php-script。 我试着使用pfsockopen:

if(!isset($fp)) {
    $fp = pfsockopen($address, $service_port, $errno, $errstr, 30);    
}
if(!$fp) die($errstr);

fwrite($fp, $out);

但是当我第二次打电话时,窗口应用程序会拒绝它。 什么是正确的方法/解决方案?

让php脚本作为服务器保持连接运行的东西? 你有想法或榜样吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

对我来说,似乎在第一次成功连接后,您尝试在同一端口上连接Windows应用程序。你在改变端口号吗?如果您创建持久连接,则可能是Windows将该端口分配给您的第一个连接。然后它暂时不能使用相同的端口。这解释了为什么它第一次尝试而不是之后。尝试使用fsockopen而不是持久的。

相关问题