麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
socket_read函数 参数PHP_NORMAL_READ的问题
悬赏分:20 - 2007年08月18日

我写了个PHP版的Socket服务程序

[PHP]


<?php
set_time_limit(10);

$ipaddr = "192.168.0.117";//gethostbyname("localhost");
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind( $socket, $ipaddr , 12345 );

$msgsocket = socket_listen ( $socket, 5 );

$msgsocket = socket_accept ( $socket );

$flag = true;

while($flag){
$buff = socket_read($msgsocket, 1024, PHP_NORMAL_READ) ;
if ( !empty( $buff ) )
{
print $buff;
$flag = false;
}
}
socket_close($socket);
print "Over Ok!";
?>

[/PHP]

还有个客户程序

[PHP]<?php
$ipaddr = "192.168.0.117";//gethostbyname("localhost");
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect ( $socket, $ipaddr ,12345 );
$in = "1234567890\nabcdefghijklmnopqrstuvwxyz\n";
socket_write($socket, $in, strlen($in));
socket_close($socket);
?>[/PHP]

在服务器程序中的socket_read($msgsocket, 1024, PHP_NORMAL_READ)如果使用PHP_NORMAL_READ,当单独启动服务程序没什么问题,但是一旦启动客户程序发送消息是就会内存泄漏,但是如果使用PHP_BINARY_READ就没问题.

请问是什么原因阿????

提问者:wzhu   08-18 14:02
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
56 + 7 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM