问题标签 [fsockopen]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - fsockopen 不会发送 post 数据
已解决:问题出在内容类型中。本来应该
帮助链接:http ://www.bradino.com/php/empty-post-array/
我似乎无法获取POST
要发送的数据。我已经对这种方法进行了一段时间的梳理,每次运行测试时,$_POST
数组都是空的。
以上是我静态调用的另一种方法,它HttpRequest
使用所需的方法创建 。下面是被子调用并传递相同数据但包括方法名称的方法。即:POST
。
php - 有没有办法“收听”到 Telnet 流?
我只是想要一种简单的方法来查看 Telnet 流中的最后两行是什么。例如,如果您可以想象一个终端窗口,我只想能够输入一个命令,按回车键,然后查看响应是什么。到目前为止,我可以执行命令,但无法评估响应。不仅仅是返回两行响应,而是stream_get_line
从流中返回每一行。
任何人都可以建议一个函数或更好的编写方法吗?
可能是我不完全理解stream_get_line()
;如果我在做一些愚蠢的事情,请有人帮帮我。谢谢!
php - PHP fwrite()到套接字 - 不允许操作?
我正在 PHP 中制作一个简单的实用程序来通过 UDP 控制我的 Minecraft 服务器:
由于某种原因 fwrite 抛出此错误:
注意:fwrite() [function.fwrite]:发送 20 字节失败,errno=1 操作在 /homepages/44/d217581656/htdocs/xenforo/util/remoterestart/interface.php 中不允许在第 22 行
有谁知道为什么?
php - fsockopen 连接直到超时才会关闭
背景:我必须创建一个普通站点,该站点接受传入的已发布 XML,并通过套接字连接将 XML 发送到服务器,然后显示从服务器发回的 XML。十分简单。
问题:我使用fsockopen()连接到服务器并发送 XML没有问题。从服务器读取 XML 是一个全新的问题。正常的
没有成功,因为服务器返回一个 XML 字符串,并且只返回一个 XML 字符串(没有长度信息、eof、eol 等)。因此它会等到超时,显示接收到的 XML 和超时错误。我的问题与这只恐龙相似。
简而言之,我想在套接字上读取 XML 并在没有更多数据发送后立即关闭它(不等待超时)。将超时设置为较低的值也不可行,因为服务器响应可能在 2--30 秒之间变化。
解决方案:经过整个下午的努力,我决定分享以下解决方案(批评)。
事实证明,我的主要问题是阻塞。所以首先,[1] 我必须禁用 stream_set_blocking 以便fgets()可以持续检查新数据是否可用。如果未禁用fgets()将从服务器获取 XML,然后循环将在第二次尝试时卡住,因为它将等到更多数据可用(永远不会)。
我知道,一旦我们读取了一些数据,如果返回任何空fgets() ,我们可以立即关闭连接(因此,如果有必要,我们仍然可以设置fgets()的第二个参数)。
在使用这个网站几个月后,我终于在 stackoverflow 上发布了一些东西。
php - 无法通过 fsockopen 在 PHP 中建立 TLS 连接
几天以来,我一直在尝试通过我新安装的 Ubuntu 服务器上的 fsockopen() 与 PHP 中的 SMTP 服务器建立 TLS 连接。我几乎尝试了所有方法并搜索了几个小时,但仍然无法正常工作。
PHP 代码如下所示:
输出只是 (0),即 $errstr = null 和 $errno = 0。
OpenSSL 已安装并启用:
并且注册了以下流套接字传输:tcp、udp、unix、udg、ssl、sslv3、sslv2、tls。
该端口在控制台的 telnet 工作时打开。
任何想法有什么问题或我如何至少可以获得更多的调试输出?
谢谢,马库斯
php - php fsockopen fgets 变得太慢
我在尝试使用 fsockopen 和 fgets 获取网页内容时遇到问题。我可以轻松地从 Web 服务器接收标头,如下所示:
我的代码如下:
输出是这样的:
我真的很想知道为什么只需要 2 秒才能获得 219 字节的数据。它太慢了。要获取整个页面,包括数百个 fget 迭代,它需要 40 秒。而如果你使用Firefox,它只是一秒钟..
我想知道是什么导致 fgets 变得太慢。
感谢您的阅读。
nginx - 异步请求无法使用 fsock - php - Nginx
我有一个 php 脚本,它执行此处描述的公认答案。
除非我之前添加以下内容,否则它不起作用fclose($fp)
即使是一个空白的 for 循环也可以代替上面的工作!
但重点是什么?我想要异步调用:(
更让我痛苦的是,在 Apache 驱动的环境中,如果没有上述代码片段,相同的代码也可以正常运行。
有人知道 Nginx 或 php-fpm 是否对此类请求有问题?
java - 将字符写入 Java 套接字时出现 fsockopen 10053 错误
对,
我正在尝试用 PHP 编写一个小脚本,它将游戏中的聊天包发送到 Minecraft。
现在,如果连接成功,那么我发送 2 个“数据包”。
一个带有整数 3 的字节,告诉 Minecraft 它应该将传入的网络流量作为 Packet3Chat “数据包”处理:
这似乎可以正常工作**。
所需的第二个“数据包”是将字符串的长度作为有符号的 short。
这似乎也可以正常工作**。
现在剩下要做的就是发送实际的字符串,作为 chars。
我尝试使用以下方法拆分字符串str_split
并单独发送每个字符:
和
而且我还尝试通过这些方法仅发送整个字符串而不将其拆分,但是我无法成功打印出接收到的字符readChar()
(System.out.println
仅打印一个空行),并且我收到fwrite 错误 10053 at在发送字符期间的某个时间点 - 即 anEOFException
被readChar()
.
我在 Windows 7 上运行修改后的 Minecraft Server,并在同一台机器上使用 XAMPP 运行 PHP 5.x。
任何想法为什么连接会“被软件关闭”?为什么它只会在发送字符/字符串期间而不是在发送字节/短字节期间关闭?
** 是的,我曾经用来
System.out.println
验证 Minecraft 收到的数据。
php - 脚本完成执行后如何使套接字保持活动状态
我编写了一个 php 脚本,它通过 tcp 套接字连接到 facebook 聊天。我的问题是:
即使 php 脚本结束,如何让套接字保持活动状态?我希望其他 php 文件通过此套接字与 facebook XMPP 服务器通信?我试图将套接字保存为会话变量,但它不起作用。
根据一些论坛讨论,我尝试使用 pfsockopen 而不是 socket_create。但是当我调用 pfsockopen 函数时,我总是收到失败。
任何人都知道如何解决这个问题?
谢谢!
php - 在 PHP 中设置 TCP 侦听器
我们目前正在使用一个系统,该系统通过 TCP 接收传入的 JSON 请求并使用 JSON 进行响应。目前我已经在 PHP 中设置了我的套接字:
这目前有效,服务器响应方法请求。但是,某些方法会像这样响应以确认调用,但稍后也会响应我所追求的结果。所以我真正需要的是一个 TCP 监听器。谁能告诉我如何像上面那样使用 fsock 编写 TCP 侦听器?
谢谢