javascript - PHP Socket 读取错误

标签 javascript php html

我的 html 页面中有三个按钮连接到 php 脚本,它们使用套接字连接向另一个应用程序发送命令。

1) 当应用程序接收命令并且 xampp 服务器在本地主机上运行时,它工作正常,但是当我尝试在网络上发送命令时,它有时有效,有时无效。

2) 这背后的原因可能是什么。

button1 的代码

<?php
// Fill up array with names
$q=$_GET["q"];



$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$host = $_GET["vz"];
$port=6100;
$buffer=$q ."\0";
$len= strlen($buffer);

socket_connect($sock, $host, $port);
socket_sendto($sock, $buffer, $len, 0 , $host, $port);


$buffer='COMMAND HERE';
$len= strlen($buffer);


socket_sendto($sock, $buffer, $len, 0 , $host, $port);

echo( socket_read($sock, 65535) );

socket_close($sock);


?>

按钮 2 的代码

?php


$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$host = $_GET["x"];
$port=6100;
$buffer='COMMAND HERE';

$len= strlen($buffer);

socket_connect($sock, $host, $port);
socket_sendto($sock, $buffer, $len, 0 , $host, $port);



$len= strlen($buffer);


socket_sendto($sock, $buffer, $len, 0 , $host, $port);

echo( socket_read($sock, 65535) );

socket_close($sock);


?>

按钮 3 的代码

<?php


$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$host = $_GET["x"];
$port=6100;
$buffer='COMMAND HERE';

$len= strlen($buffer);

socket_connect($sock, $host, $port);
socket_sendto($sock, $buffer, $len, 0 , $host, $port);



$len= strlen($buffer);


socket_sendto($sock, $buffer, $len, 0 , $host, $port);

echo( socket_read($sock, 65535) );

socket_close($sock);


?>

最佳答案

检查此代码是否有错误,可能是超时?

if ($socket === false) {
    $errorcode = socket_last_error();
    $errormsg = socket_strerror($errorcode);

    die("Couldn't create socket: [$errorcode] $errormsg");
}

关于javascript - PHP Socket 读取错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27498408/

相关文章:

php - 如何使用 php 将 %20 替换为 url 中的 - ?

html - 如何让这个工具提示覆盖父div?

php - 解析电子邮件 ID 的文本

php - 如何在所有浏览器的每个回显中正确显示输出?

javascript - 在 Protractor 中定位父元素的推荐方法

javascript - 如何插入以及是否为 webstorm 中的变量定义

html - 将 .SVG 图形放在菜单文本旁边

javascript - 错误类型错误 : Cannot read property of undefined

javascript - ionic 2 : Form validator (regex)

javascript - 为什么在 AngularJS 指令中弃用 `replace: true`