socket_sendto():无法写入socket [1]:不允许操作

时间:2013-08-26 14:41:01

标签: php sockets udp

我正在尝试从我的专用IP服务器发送UDP数据包。我打电话给我的提供商,并且能够在防火墙上打开我的UDP端口7812和50000,用于传入和传出数据。

这是我的剧本:

<?php

$msg = "220055";
//$msg = pack("H*" , "220055");

$len = strlen($msg);

print($msg);
print($len);

$error = socket_last_error();
echo socket_strerror($error);

$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); 
socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, 1);
socket_sendto($sock, $msg, $len, 0, '70.92.255.81', 7812);

socket_close($sock);

phpinfo();

?>

当我运行$error = socket_last_error(); echo socket_strerror($error);时,我收到了成功消息,但是当我检查错误日志时,我看到:

  

PHP警告:socket_sendto():无法写入socket [1]:第20行/ webserver / phpfile.php中不允许操作。

我在端点上设置了一个侦听器,并且可以使用具有相同端口和IP地址的应用程序通过我的手机发送数据包。

这是什么错误,如何解决?

0 个答案:

没有答案