我是php的新手,我试图在套接字连接中反转客户端给出的字符串,但它打印0而不是反向字符串,我不知道我应该在哪里修改工作正常。我在此之前只提供服务器代码我做了所有的事情:
>?php
$sfd = socket_create(AF_INET,SOCK_STREAM,0);
socket_bind($sfd,"localhost",8888);
socket_listen($sfd,0);
socket_recv($cfd,$buffer,15,0);
(string) $sum="";
for ($i=strlen($buffer)-1; $i>0; $i--){
(string)$sum=(string)($sum + $buffer[$i]);
}
echo "received ".$buffer;
echo "\n".(string)$sum;
socket_send($cfd,$sum,9,0)
?>
有什么想法吗?谢谢。
答案 0 :(得分:1)
<?php
$sfd = socket_create(AF_INET,SOCK_STREAM,0);
socket_bind($sfd,"localhost",8888);
socket_listen($sfd,0);
socket_recv($socket, $buffer, 2048, MSG_WAITALL)
echo "received ".$buffer;
$revStr=strrev($buffer);
?>
使用socket_recv($socket, $buf, 2048, MSG_WAITALL)
方法读取套接字中的所有内容,然后使用strrev($buffer)
来反转给定的字符串。