php_socket尝试

参考其他文章做的简单的长连接demo:

参考文章地址:http://www.tuicool.com/articles/QjIZBr

server.php

<?php
set_time_limit(0);
$host="localhost";
$port=1000;
//while(true){
//创建一个连接
$socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)or die("cannot create socket\n");
//绑定socket到端口
$result=socket_bind($socket,$host,$port) or die("cannot bind port to socket\n");
//开始监听这个端口
$result=socket_listen($socket,4) or die("could not set up socket listen\n");
//接受连接,另一个socket来处理通信
while(true){
$msgsock=socket_accept($socket) or die("cannot accept incoming connection\n");
if($msgsock){
echo date("Y-m-d H:i:s D a\n");
}
//读取客户端发送过来的信息
$input=socket_read($msgsock,1024) or die("cannot read input\n");
$input=trim($input);
$output=strrev($input)."顺序反过来了吧\n";
//对接收到的信息进行处理,然后返回到客户端
socket_write($msgsock,$output,strlen($output)) or die("cannot write");

socket_close($msgsock);
}

 

client.php

<?php
set_time_limit(0);
$host="localhost";
$port=1000;

//创建一个socket
$socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)or die("cannot create socket\n");
$conn=socket_connect($socket,$host,$port) or die("cannot connect server\n");
if($conn){echo "client connect ok!";}
socket_write($socket,"hello world!") or die("cannot write data\n");
$buffer=socket_read($socket,1024,PHP_NORMAL_READ);
if($buffer){
echo "response was:".$buffer."\n";
}
//socket_close($socket);
?>

 

 网上说php搞socket不是很稳定,不过自己没有实际测试过

倒是看到swoole扩展,这个貌似可以瞅瞅来做长连接

 

 

php_socket尝试,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。