gpt4 book ai didi

javascript - Node.js 错误 ECONNRESET

转载 作者:行者123 更新时间:2023-12-03 10:13:11 24 4
gpt4 key购买 nike

我的客户端 (PHP) 反复向 Node.js net.Server 发送消息,并收到意外错误。

服务器部分:

socket.on('error',function(err){
logger.emit('error',err);
});

[Error: write ECONNABORTED] code: 'ECONNABORTED', errno: 'ECONNABORTED', syscall: 'write'

[Error: read ECONNRESET] code: 'ECONNRESET', errno: 'ECONNRESET', syscall: 'read'

如果我一条一条地发送消息,我不会收到错误。

编辑:发布client.php:

if(isset($_GET['msg'])) {
$sendmessage = $_GET['msg'];
$host = "xxx.xxx.xx.xx";//server ip
$port = 3030;

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("Could not create socket\n");

$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);

socket_set_option($sock, SOL_SOCKET, SO_REUSEADDR, 1);

$result = socket_connect($socket, $host, $port) or die("Couldn't connect to server: [$errorcode] $errormsg");

socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 60, "usec" => 0));

socket_write($socket, $message, strlen($message)) or die("Could not send data to server\n");

$serverresponse = socket_read($socket, 1024,PHP_NORMAL_READ) or die("Could not read server response: [$errorcode] $errormsg");

echo $serverresponse;
}

最佳答案

您收到的错误是由于 PHP 客户端关闭了 TCP 连接而引发的,所以我猜您的客户端出现了问题。

编辑:

用它构建一个普通的 TCP 套接字客户端并不是一个非常简单的任务。如果幸运的话,您只是缺少 socket_close($sock); ( php.net Sockets Examples )。

我真的建议只使用 HTTP 协议(protocol):

这将使一切变得更加简单,并且几乎开箱即用。

关于javascript - Node.js 错误 ECONNRESET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30015610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com