server
2022-04-25 16:25:04 0 举报
bbs server
作者其他创作
大纲/内容
执行data_center
创建一个子进程
执行socket_trans()
yes
no
根据socket_trans发来的命令进行相应的操作
子进程
根据服务器的input pad发来的命令进行相应的操作
(socket_trans)退出
子进程1
从data_center接收消息,发送给客户端
监听pipe_padr
消息为空/发送来的消息为#9?
向cli_center请求一个空位
从data_center得知客户的信息更新,进行更新
获取的信息是否为空?
生成两个子进程
找到一个空位,把用户编号告诉给main()
信息是否为空?
结束
从客户端接收消息,发给data_center
保存新用户,发给cli_center更新
执行cli_center
初始化(状态、input pad、套接字、管道)
while(1)
接收的消息由终端发来的?
收到来自main()的新客户需求?
server(开始)
条件语句流程在此省略,大概为:1. #0 状态调整为STAT_UNDISTURBED2. #1 状态由STAT_UNDISRURBED调整为先前状态3. #2 修改昵称,将状态设置为STAT_ACTIVE4. $1 列出客户的状态5. $2 列出所有客户6. @昵称+message 相应客户发出一条消息7. 普通消息 由广播发出,告知所有人(ACCEPTED/ACTIVE)
消息是否为空
接收一个新的客户
循环寻找一个空位,如果不是空的就从data_center得知客户的信息更新,进行更新
条件语句流程在此省略,大概为:1. @昵称 #0 对应客户状态设置为BANNED2. @昵称 #1 对应客户状态由BANNED改为先前状态3. @昵称+message 将message发送给对应的客户4. $ 列出所有的客户5. 普通消息 由广播发出,告知所有人(ACCEPTED/ACTIVE)
关闭所有的管道和套接字
监听main(),获取一个新的客户
子进程2
监听socket_trans()
0 条评论
下一页