草庐IT

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

php - 套接字客户端发送消息

我是套接字连接的新手,我想向套接字服务器发送一些命令,但我只能发送第一条消息而不是其他消息。客户:$fp=stream_socket_client("tcp://127.0.0.1:1000",$errno,$errstr,30);if(!$fp){echo"$errstr($errno)\n";}else{$cmd_1="hello";fwrite($fp,$cmd_1);while(!feof($fp)){print_r(fgets($fp,1024));}$cmd_2="secondmessage";fwrite($fp,$cmd_2);while(!feof($fp)){pri

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

php - 确定客户端是否已使用套接字关闭与服务器的连接

我正在尝试检查客户端是否已断开连接,以便我可以关闭客户端连接以允许客户端重新连接。我有以下内容。$socket=@socket_create_listen("12345");while(true){$client=socket_accept($socket);socket_write($client,'hello');while(true){//Codetoexitthisloopwhenclientloosesconnectionsocket_write($client,'');echosocket_last_error($socket);}socket_close($client)

php - 是否可以使用 php curl 将原始文本发送到服务器?

我正在尝试使用curl建立持久连接,很像websockets..一旦建立连接,客户端和服务器每次只发送小文本消息而不是新的http请求..对于websocket请求,我能够完成握手并从服务器接收消息(连接保持打开状态)。唯一的问题是curl不会发送没有“HTTP/1.1”header的任何内容。每次运行curl_exec时,curl都会发送“GET/HTTP/1.1”。一旦建立连接就不需要了。我可以使用curls自定义请求选项来发送我的消息,但这会形成一个标题,如“message/HTTP/1.1”。如果有一种方法可以从header中删除“HTTP/1.1”,那就太好了。我知道php套

php - 如何修复错误 : Socket_recv unable to read from socket 0 The operation completed successfully

我找到了这个使用WebSocket和PHP套接字的简单聊天教程:http://www.sanwebe.com/2013/05/chat-using-websocket-php-socket它工作正常,但我在我的CLI上收到以下错误:Warning:socket_recv();unabletoreadfromsocket[0]:Theoperationcompletedsuccessfully我进行了研究,但互联网上没有任何内容对这个问题有明确的答案。我也尝试联系博客的作者,但他已经一个月没有回复我的消息了。我是网络套接字的新手,请帮忙。错误发生在用户离开聊天室时。这是服务器脚本:$ho

php - 是否有可能实现 SSL (wss ://) using PHP socket extension?

我有一个websocket服务器,使用PHP的socket库实现,并且一切正常...只要您使用的是ws://协议(protocol)。但是,我们现在需要升级库以通过SSL工作,即支持wss://协议(protocol)。是否有可能使用PHPsocket实现wss://(或者更一般地说,我想是SSL连接)函数,或者我们是否需要重写代码以使用stream_socket函数?(请注意,切换到stream_socket可能还有其他充分的理由,因此无论答案如何,我们都可以考虑这样做。但是,在我花时间评估这两个选项之前,我想确认坚持使用socket甚至是我们的一个选择。)

php - 正确使用 socket_select()

在PHP中使用socket_select发送和接收数据的正确方法是什么?我连接到允许TCP和UDP数据包连接的服务器,我正在使用两者。在这些连接中,我在同一端口上发送和接收数据包,但TCP数据包将在一个端口(29999)上发送,而UDP数据包将在另一个端口(30000)。传输类型将为AF_INET。IP地址将环回127.0.0.1。我有很多关于如何在这种情况下创建套接字连接的问题。比如用socket_create_pair是不是更好建立连接,或者只使用socket_create其次是socket_connect,然后执行socket_select?有可能没有数据从服务器发送到客户端,由

php - Node JS 读入缓冲数据

出于某种原因,当我向端口发送消息并尝试通过缓冲区读取它时,它总是挂起,因为似乎永远不会到达socket.on('end')。有什么想法吗?varnet=require('net');varbuffer=[];varserver=net.createServer(function(socket){socket.on('data',function(data){buffer.push(data);});socket.on('end',function(){try{vardata=buffer.join("");console.log(data);socket.end('ok');}catc

PHP Socket 服务器作为服务运行

我已经创建了PHP套接字服务器,并通过命令提示符在本地主机(127.0.0.1)中启动了它。即C:\xampp\php\phpserver.php这在本地主机上工作正常。但我的问题是我必须在域服务器中运行此server.php文件。我已将server.php文件复制到Web主机目录(http://example.com/server.php)并将ip地址更改为php文件中的域ip地址。现在的问题是当我在浏览器中运行文件时http://www.example.com/server.php套接字服务器启动正常,并在5分钟内被浏览器自动停止(错误500)。我如何通过命令提示符运行该serve