时间:2021-07-01 10:21:17 帮助过:19人阅读
function send($in){ try{ $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 5, "usec" => 0)); socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, array("sec" => 180, "usec" => 0)); $result = socket_connect($socket, '127.0.0.1', 9999); $out = ""; socket_write($socket, $in, strlen($in)); $out = socket_read($socket, 10240); socket_close($socket); return $out; }catch(Exception $e){ exit (""); }}
你作为服务端的程序是如何启动的?
既然你已经有了异常处理,那就不应该隐藏掉异常信息
出错时也应给出错误信息
这样判断错误原因才能有依据,你说对吧?
你echo下你的异常信息,或者使用socket_strerror(socket_last_error($socket))输出下socket产生的错误
服务器端的程序是exe 啊 当然就直接双击啊,我没有做成系统服务。。。PHP返回的异常信息就是unexpected error on socket_connect at line 5。连接失败,都unexpected了。。。socket_strerror(socket_last_error($socket))应该放在哪?
你作为服务端的程序是如何启动的?
既然你已经有了异常处理,那就不应该隐藏掉异常信息
出错时也应给出错误信息
这样判断错误原因才能有依据,你说对吧?
function send($in){ $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 5, "usec" => 0)); socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, array("sec" => 180, "usec" => 0)); $result = socket_connect($socket, '127.0.0.1', 9999); $out = ""; socket_write($socket, $in, strlen($in)); $out = socket_read($socket, 10240); socket_close($socket); return $out;}
你echo下你的异常信息,或者使用socket_strerror(socket_last_error($socket))输出下socket产生的错误
PHP返回的异常信息就是unexpected error on socket_connect at line 5
你echo下你的异常信息,或者使用socket_strerror(socket_last_error($socket))输出下socket产生的错误
if ($result == false) echo socket_strerror(socket_last_error($socket));
if ($result == false) echo socket_strerror(socket_last_error($socket));
if ($result == false) echo socket_strerror(socket_last_error($socket));