问题标签 [php-socket]
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 - 在 PHP 中以十六进制发送
我正在努力将十六进制值发送到连接到我的 PHP 套接字服务器的设备。
我有这个代码:
我怎样才能发送它以便它与$str1一样工作?
apache - HTTP 流水线请求文本示例
下面是一个请求单个页面的 HTTP 1.1 调用示例:
我了解HTTP Pipelining,可以在不中断连接的情况下发送多个请求。
php - 使用php在windows中与socket有什么区别?
我用 php 编写了一个使用套接字的应用程序。突然需要在windows上运行它,在此之前它只在linux上没有问题。
目前的问题在于socket_recv
使用的功能,如$bytes = @socket_recv($socket, $data, 2048, MSG_DONTWAIT);
. 首先在窗户上没有任何MSG_DONTWAIT
常数,因为我对此感到不解。我找到了一个小修复,例如:
然后它说:
之后我决定问在 Windows 和 Linux 上使用套接字可能有什么不同吗?
php - 使用 PHP 通过套接字将数据传递给系统
我有下面的示例数据流,它必须通过套接字编程传输到系统。此流是从 db 生成的。每 243 个字符我都会得到一个新的流。
我尝试了下面的代码,但我如何读取流并将响应映射到输入。
每次我从 server.php 收到以下消息时从 client.php “无法读取输入”“无法将数据发送到服务器”
请告诉我如何让 sever.php 读取数据和 client.php 发送数据
php - php stream_get_contents 挂在流的末尾
问题结束时的解决方案
我正在编写一个 PHP 应用程序,它向服务器发送消息,然后使用stream_get_contents
. 我以相同的方式与 android 应用程序中的同一台服务器通信。android 应用程序工作正常并且响应迅速,但是当从服务器读取响应时 PHP 挂起。
在下面的代码示例中,我设置了一个 5 字节的微小缓冲区大小来测试一个理论。如果我删除此缓冲区大小,它会挂起,但是对于 5 字节大小,它只会在最后一次通过循环时挂起:
输出如下:
如您所见,最后两行之间有 10 秒的延迟,但其他行之间没有明显的延迟。
另外,为了您的信息,我使用 ETX 标记 (3) 来表示消息的结束,所以如果我点击它,我也会停止,而不仅仅是流的结束。
难道我做错了什么?有没有更好的方法来做到这一点?
提前致谢...
编辑:为了清楚起见,上面的代码只需要一个消息响应。它不关心收到 ETX 字节后返回的任何数据。
Edit2:现在已经看到挂起长达 40 秒。它似乎没有固定为 10 秒,但奇怪的是,每次似乎都是不错的整数。
解决方案(感谢chathux):
stream_get_contents($stream, $bytes)
将阻塞,直到它接收到$bytes
字节或超时到期。这意味着我的代码即将结束并尝试读取 5 个字节(不存在),因此它在放弃之前等待了 10 秒。
我知道返回给我的消息的最小大小是 49 个字节,我首先读取这 49 个字节(阻塞直到我得到它们或 10s 过期)以填充stream_get_meta_data
'sunread_bytes
字段。一旦我有了这个,我会动态调整缓冲区大小,min(16*1024, unread_bytes)
以便我一次读取 16k 或所有剩余字节,以较小者为准。在我的情况下,这通常只意味着两个通过循环,因为消息通常很小(49 字节 + 有效负载)。
系统现在挂起大约 3 秒而不是 10 秒,但它挂起等待最初的几个字节到达(而不是最后),这可以归结为网络延迟和其他正常因素。
php - 无法捕获 PHP 套接字连接的响应 :: 504 Gateway Time-out
我正在使用以下 php 代码通过 php 套接字连接连接并向远程服务器发送请求。
正如确认的那样,远程机器正在接收我们的请求并在同一会话中向我们发送适当的响应。但不幸的是,执行脚本时我收到以下响应 -
504网关超时。服务器没有及时响应。
当从 Putty(执行代码的同一服务器)尝试时,我几乎立即(不到一秒)得到响应。
没有运行会阻止响应的防火墙。如 telnet 请求和响应中所见,所有 VPN 流量都通过隧道而没有任何阻塞。
现在我无法弄清楚没有通过这个 php 脚本得到响应的确切原因。我浏览了许多教程和示例代码,但没有找到运气。:(
请各位会员帮忙。
php - 用于 Arduino Tracker 的 3G + GPS 屏蔽
我买了这个盾牌。
我的项目是使用 gps 制作跟踪器并将数据上传到服务器
这是我使用的代码
我不知道为什么它没有连接到服务器!
这是在串行监视器上
这是 php 脚本<我只是想从服务器获取响应>
请帮我 !
php - 在 Linux 中通过 PHP fwrite 函数发送短信
1-但每次发送短信时,页面需要刷新一次才能再次发送短信。
2-它在 SMS 文本中发送数字而不是“hiii”。
你会指导解决这两个问题吗?
问候
smpp - php-smpp 库不工作并且在两到三个 SMS 后失败
这是我第一次弄乱套接字,并阅读了许多不适合新手的引文。
所以问题是我正在使用php smpp 库 进行发送SMS
,它工作正常,但是在发送两到三个 SMS 后发送失败并出现以下警告
Warning: stream_socket_sendto() [function.stream-socket-sendto]: An existing connection was forcibly closed by the remote host'
, 为了让它再次工作,我需要重新启动 apache。
以下是抛出异常的写入函数
请任何人都可以放一些光
wordpress - How to set up wordpress in subdir with php-fpm on unix socket?
I want to migrate my wordpress installation from apache to nginx. Actually everything is working (at least it seems so) but the rewriting of urls.
My setup:
- php-fpm on unix instead tcp socket
- wordpress installation in /var/www/blog/
- ubuntu 12.04 lts
- nginx 1.1.19
Following the nginx documentation for wordpress I tried to add
But this is still not working for me. Do you have any ideas?
also changed www.conf
php.ini changed cgi.fix_pathinfo