Erlang 聊天室程序(九) 主题房间2 ---房间信息管理
?
接着上一篇,这次处理“维护当前可用的主题房间信息”问题。 每次使用startChild启动子进程的时候将当前的房间信息保存到ets表中。更重要的是每次主题房异常退出或重启都要更新对应的信息。
???????? 修改room_manager.erl中的内容:
新建一个函数来初始化房间信息表:
init([Para])-> id_generator:start_link(), #roominfo{id=RoomId,tablename=ClientTableName}=Para, client_manager:init(ClientTableName), case is_record(Para,roominfo)of true-> {ok,#roominfo{unum=0}=Para,tablename=ClientTableName}; Els-> {ok,#roominfo{id=RoomId,unum=0,name="room"++integer_to_list(RoomId),tablename=ClientTableName,type="def"}} end.?
暂时不对代码进行测试,等后面整体修改完成后再一起测。
?
?
?
?
?
?
?