php fsockopen() 无法建立连接

Posted

技术标签:

【中文标题】php fsockopen() 无法建立连接【英文标题】:php fsockopen() cannot make connection 【发布时间】:2013-06-10 16:09:49 【问题描述】:

我对 fsockopen() 有疑问。

当我从http://tokudu.com/2010/how-to-implement-push-notifications-for-android 编写代码时它不起作用,我得到:

Warning: fsockopen() [function.fsockopen]: unable to connect to localhost:port
(No connection could be made because the target machine actively refused it. )
in C:\xampp\htdocs\phpMQTTClient-master\SAM\MQTT\sam_mqtt.php on line 641
Offline

我试过this,但它不能解决我的问题。 谁能帮我解决这个问题?

【问题讨论】:

检查端口。开不开? user2484675,您尝试连接的目标主机上是否正在运行服务器? 感谢@Goutam Pal,我检查了端口,发现它已关闭。我将端口更改为开放端口。 【参考方案1】:

如果连接成功,这个函数fsockopen("www.example.com", 80)会返回一个流resource

但是,如果连接失败,则会在您收到错误消息时生成:

您可以使用@ operator 来消除错误

$resource = @fsockopen("127.0.0.1","882");
// $resource will be stream resource object if call is successful
// $resource will be false if call  fails

避免引发错误,连接失败时获取false作为返回值。

【讨论】:

显然,添加@ 不会使连接成功,而只能让您自己的代码处理失败。原问题的失败可能是由于防火墙设置过于急切造成的。

以上是关于php fsockopen() 无法建立连接的主要内容,如果未能解决你的问题,请参考以下文章

fsockopen():无法连接无法使用PHP(连接超 时)

如何解决[警告:fsockopen():无法连接]?

PHP fsockopen受服务器KeepAlive影响的解决

PHP的fsockopen方式访问接口慢的原因与优化方案

PHP的fsockopen函数详解

在 Codeigniter 中无法发送电子邮件 - fsockopen():无法连接到 ssl://smtp.gmail.com:465(连接被拒绝)