百度空间 | 百度首页 
 
查看文章
 
spread tips
2009-09-27 13:46
spread消息server的中文资料貌似也不多,我做一些我操作中的记录。
安装:
安装很简单,spread就下载下来make就好了,没什么特别的。
php的spread api module安装的时候要注意,我在php 5.1.x上没有安装成功,提示php api中的一个函数发生了变化,和spread的Php api module使用不一致,在php 5.2.x上安装没有问题。
使用pecl或make安装的时候需要制定spread软件安装路径,所以在服务器上即使只安装php api module也需要先make好spread,才可以。

使用:
连接
resource spread_connect("port@ip","username")
第一个参数是spread server的端口和ip,使用@做分割
第二个参数是加入组的用户名,用户名必须唯一,没有查文档,但在使用中,如果超过10个字符是无法连接spread的

加入分组
spread_join(resource ,“groupname”);
第一个参数是spread连接的资源
第二个参数是加入的组名

发消息
spread_multicast(resource ,"groupname","内容");
第一个参数是spread连接的资源
第二个参数是发给哪个group,不一定是自己加入的group
第三个参数是内容,内容我没有测试最大发送长度,记得文档中似乎是一个消息最大支持1K容量,超过了会自动拆成多个消息发送,client在接收拼合. 不过最好不要发送过大的文本内容,我发送过一次系统lsof查询后的结果内容......spread server在的服务器cpu狂高,根本无法处理.....但是由于时间很紧,暂时还没有深追最大长度

接收消息
spread_receive(resource,timeout)

断开连接
spread_disconnect(resource)

tips:
A.使用spread的时候,有时候php会出现没有disconnect,就直接退出,这时候在使用原来的用户名重新连接就会偶尔出现提示用户名已经存在,不能连接,你只能换个用户名连接。还好spread发消息是针对组发,不是一个用户,所以变更用户名后,只要还是同一个组就可以,一般随机数
B.spread server被强杀,在重新启动会出现端口被占用的情况.....只好network restart,重启网卡把资源释放掉...计划查查是什么问题,肯能是退出时需要做一些flush操作吧?
C.spread安装目录的bin下有几个工具,我在用的就是sptuser,可以通过命令制定用户名和端口连接spread server做一些测试,发消息,加入组等。
其他几个命令还在学习。

类别:Spread | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu