我正在尝试从我的专用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地址的应用程序通过我的手机发送数据包。
这是什么错误,如何解决?