草庐IT

m_Socket

全部标签

php - socket_connect 不会超时

我正在使用套接字将数据发送到可能没有响应的服务器。所以我试图通过在SO中使用此解决方案来定义超时。MakePHPsocket_connecttimeoutsocket_set_option($socket,SOL_SOCKET,SO_RCVTIMEO,array('sec'=>1,'usec'=>0));socket_set_option($socket,SOL_SOCKET,SO_SNDTIMEO,array('sec'=>1,'usec'=>0));这在建立连接并且服务器响应时间过长时有效。但是当它无法创建连接时socket_connect($socket,$addr,$port)

php - 如何将 stream_socket_client 绑定(bind)到 php 中的接口(interface)?

我有一些在php中使用stream_socket_client(不是curl)的函数,我有多个eth1eth2...等接口(interface)与不同的ips所以我想在作为客户端连接时使用不同的接口(interface),我可以这样做吗?我在php.ini中找不到任何选项 最佳答案 这里是在stream_socket_client中添加IP接口(interface)的方法//connecttotheinternetusingthe'192.168.0.100'IP$opts=array('socket'=>array('bindto

php - socket_read()中$type参数的含义

我尝试使用PHP套接字创建从C#应用程序到PHP5.3脚本的tcp/ip套接字连接。C#应用程序应将JSON字符串发送到PHP脚本。我关于thesocket_readmanual的问题:它们是什么意思:"PHP_BINARY_READ(Default)-usethesystemrecv()function.Safeforreadingbinarydata."PHP_BINARY_READ到底是做什么用的,为什么在使用这个参数时要使用recv()函数?非常感谢任何帮助。 最佳答案 重要的部分是文档中关于其他选择的内容:PHP_NORM

PHP UDP socket_recv() 超时

我正在研究可以通过UDP套接字进行通信的服务器/客户端php脚本。我想知道是否有为socket_recv()函数实现timeout()的好方法。目前它在我的客户端中阻塞,等待确认。感谢您的意见! 最佳答案 我找到了我的问题的解决方案:socket_set_option()有选项SO_RCVTIMEO,它只为socket_recv()设置超时例如:socket_set_option($sock,SOL_SOCKET,SO_RCVTIMEO,array("sec"=>1,"usec"=>0));这将在我的套接字级别上为socket_re

PHP stream_socket_client() 警告

我正在为一个客户建立一个新的WordPress网站,今天我突然在屏幕顶部看到这个错误。我以前从未见过这个。任何想法可能导致现在发生这种情况?还有怎么解决?Warning:stream_socket_client():php_network_getaddresses:getaddrinfofailed:Nameorservicenotknownin/var/www/wp-includes/class-http.phponline787Warning:stream_socket_client():unabletoconnecttotcp://www.MY-DOMAIN.com:80(php

php - 带有 socket.io 和后端 php 的 Angular

我正在开发实时应用程序(聊天)并使用Angular,我的后端是php(codeigniterrestapi)对于mongodb中的数据库我在某处听说socket.io是套接字的最佳库(实时使用),我看到socket.io主要与node.js一起使用,所以我可能需要节点的基本知识或任何其他可行的方法来使用socket.io、angular和php 最佳答案 你有3种方式:使用node.js服务器这取决于您的API有多大。但在我看来,对于MongoDb和套接字,node.js会比PHP更好。为什么?MongoDB使用JSON格式,而No

php - socket_recv 数据包缺少字节 PHP

我试图在PHP上接收数据包,但看起来socket_recv丢失了一些字节。我知道数据包发送成功:0:13:58.951742IP192.168.0.101.1458>192.168.0.107.8000:Flags[P.],seq1:7,ack1,win64240,length60x0000:4500002e631d40008006158cc0a80065E...c.@........e0x0010:c0a8006b05b21f406557d6284e87cadd...k...@eW.(N...0x0020:5018faf0e808000000686f6c6100P........ho

php - socket client查数据时socket server是 "hit"吗?

我设置了一个PHP服务器每秒写入一个套接字。while(1){$message="Hello,World!";socket_write($socket,$message,strlen($message));sleep(1);}然后我有一个Lua客户端(CoronaSDK),它每1/10秒检查一次套接字是否有数据:timer.performWithDelay(100,function()sock:receive()end,0)end我的问题是:每次运行sock:receive()时服务器是否“命中”?还是sock:receive()只检查本地缓冲区?重新表述这个问题:我运行sock:re

处理 socket.io 客户端的 PHP/C++ 服务器

有一个网站使用socket.io作为其“API”。从本质上讲,任何人都可以下载网站的源代码并对其进行修改以轻松制作自己的客户端。例如,我有六个客户端都运行相同的自定义客户端脚本。该脚本托管在我自己的域中,而不是使用socket.ioAPI的域中。我希望能够跟踪谁连接了,并保留了某些数据的总数。例如,如果每个客户端都有0.5余额,我希望他们能够知道总数是3余额,因为服务器。我能想到的最明显的方法是将AJAX与对MySQL的调用结合起来以跟踪事物,但这似乎是冗长的。我也可以做CURL,但这在技术上具有挑战性。是否有一种简单直接的方法可以从六个不同的socket.io客户端简单地计算余额并将

PHP socket_connect() 权限被拒绝

好的,我已经有一个运行良好的php服务器,它使用我编写的这个小函数打开了一个AF_UNIXsocet。像这样调用$IPC_connector=socket_create_IPC('/tmp/connection');functionsocket_create_IPC($FILE){#CreateaAF_UNIXsocketif(!($socket=socket_create(AF_UNIX,SOCK_STREAM,0))){$errorcode=socket_last_error();$errormsg=socket_strerror($errorcode);die("Couldn't