网站->服务器 PHP 套接字被拒绝,但 .NET 客户端连接

问题描述 投票:0回答:1

服务器上运行的程序正在侦听连接。它使用 .NET 中的 TcpListener。使用netstat,端口正在侦听。

使用测试仪数据发送器时,接受连接并处理数据。使用 PHP 套接字执行相同操作无法正常工作。它返回 errno 111。

在一些与 PHP 相关的套接字问题中寻找答案,据说这可能是以下三种情况之一:没有 http 服务器、TCP 队列已满或防火墙。

网络服务器

$port = 6000;
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($socket, "remote.ip", $port);
socket_send($socket, $data, strlen($data), 1);
socket_close($socket);

服务器

tcp = new TcpListener(IPAddress.Any, port);
tcp.Start(backlog);
sock = tcp.AcceptSocket();

警告:socket_connect():无法连接[111]:连接被拒绝 page.php 第 10 行

警告:socket_send():无法写入套接字 [32]:管道损坏 page.php 第 11 行

c# php sockets tcp
1个回答
0
投票

大多数时候,Web 主机未使用适当的 PHP 版本,或者未启用

php sockets
进行编译。我最终托管了自己的网站并可以访问控制台。使用此选项进行编译,并在适当的
php.ini
中启用它会有所帮助。

这在我对问题的评论中有所体现:

“本地尝试正在发挥作用。此问题的主要尝试来自 Web 主机,并使用 IIS 在本地完成。”

© www.soinside.com 2019 - 2024. All rights reserved.