2012年3月2日

Erlang 聊天室程序(八) 主题房间---supervisor 的使用

摘要: 之前实现的功能相当于一个大厅,这里我们为这个聊天室程序添加“主题房间的功能”。客户端登陆后处于大厅中,然后获取目前所有的主题房间,再发送消息进入到某个房间内。同一房间的成员可见,发送的消息也只限本房间可见。 为了管理这些房间,Erlang Opt中的监控树是最合适的。 新建一个模块room_manager.erl 其行为遵守gen_supervisor,子进程为chat_roominit(Para)-> {ok, { {one_for_one,3,5}, [ {the_room, {chat_room,start_link,[]}, pe... 阅读全文

posted @ 2012-03-02 18:03 心笑峰 阅读(1800) 评论(0) 推荐(0) 编辑

Erlang 聊天室程序(七) 获取在线用户

摘要: 先定义消息格式如下: 请求: #message{type="get",subject="clientinfo",content="all"} 响应:#message{type="result",subject="clientinfo",content=[#clientinfo,#clientinfo,.....]} 修改客户端发送请求消息部分:clientThread.sendMsg(new Message("get","client","&qu 阅读全文

posted @ 2012-03-02 14:12 心笑峰 阅读(936) 评论(0) 推荐(0) 编辑

JAVA JSON String to Object 转换中的集合

摘要: 如果要转换到的Bean类中含有类似ArrayList、Map、List这样的集合时,要对集合进行处理,否则会报“net.sf.ezmorph.bean.MorphDynaBean cannot be cast to XXX”这样的异常。 处理方法如下: 1.定义一个Map Map <String,Class> mymap = new HashMap<String,Class>(); 2.向Map中put Bean中集合成员名和对应的类型 mymap.put("content",ClientInfo.class); //我这里的成员名为content 阅读全文

posted @ 2012-03-02 12:28 心笑峰 阅读(7503) 评论(0) 推荐(0) 编辑

导航