基于linux的实时通信软件设计(编辑修改稿)内容摘要:
是否是是是否 图 2 登录模块流程图 5 用户登录需输入相关信息,经过相关的检测后,方可登录。 登陆后可查看群聊信息,且可与其他人进行聊天 服务器模块 开 始创 建 套 接 字 S o c k e t套 接 字 绑 定 到 本 地端 口套 接 字 接 听 客 户 端请 求是 否 有 链 接 请 求返 回 套 接 字 进 行 通信保 存 套 接 字 中 的 内容I P 链 接 是 否 正 常启 动 转 发 消 息 的 线程读 取 套 接 字 中 得 内容保 存 所 有 在 线 用 户名聊 天 是 否 启 动将 在 线 用 户 名 单 与“ 聊 天 启 动 ” 标 志写 入 输 出 流将 消 息 转 发 给 所 有在 线 用 户结 束信 息 写 入 输 出 流显 示 用 户 下 线 信 息是是是否否否 图 3 服务器模块流程图 6 该服务器界面用于显示用户上线与下线的信息,不可用于聊天,是用于将客户端群聊时发送的信息转发给每一个在线用户,处于一个承接的作用。 消息格式化模块 消息格式化是将用户的对 应信息合成固定形式进行传送。 开 始对 应 用 户 传 入 消 息格 式 化 类用 户 名转 发 的 消 息标 志消 息 格 式 化 类将 信 息 整 合 成 固 定格 式 传 送“ 【 用 户 名 + : 】 ”转 发 的 消 息结 束 图 4 消息格式化模块流程图 7 群聊模块 用户登陆以后,可与显示在线的任何用户进行聊天,也可与在线用户一起进行群聊。 开 始创 建 套 接 字写 入 服 务 器 端 口 号与 I P向 服 务 器 发 起 连 接套 接 字 中 内 容 流 入对 象 输 出 流启 动 客 户 端 线 程读 取 套 接 字 中 的 内容检 查 标 志聊 天 已 启 动 发 送 消 息 启 动在 线 用 户 列 表 添 加该 用 户服 务 器 转 发 的 信 息显 示 到 各 用 户 聊 天窗 口结 束 图 5 群聊模块程序流程图 8 4. 调试及测试 调试结果 1,启动 SSH Secure Shell 软件后,将程序进行编译: 图 6 编译程序 ,2,编译成功后,将服务器打开: 图 7 打开服务器 3,打开服务器以后,需 输入用户名称,即可进入聊天室进行聊天: 图 8 准备进行聊天 9 4,用户进行聊天: 图 9 用户聊天界面 a 图 10 用户聊天界面 b 调试结果分析 这是一个聊天室程序,可以实现群聊的功能,即当某个客户发出消息后,服务器和其他个客户端都能收到此消息。 且能够显示客户端的用户名。 但客户端退出聊天室后,服务器和其他在线客户端会有提示。 实现群聊的机制是:当某个客户端需要发送消息是,它将此消息发送给服务器,服务器再将此消息转发给各客户端,各客户端之间是无连接的,即相互之间不能直接通信。 因此,在服务器中,有两个线程,主线程用来监听是否有客户端登录服务器,若有,建立与其连接的套接字,并存入在线客户序列里,辅助线程是接收转发线程,其依次读取个客户端,看是否有消息送达,若有,取出,并转发给各其他客户端。 在客户端也有两个线程,主线程用来向服务器发送消息,辅助线程用来接收服务器发出的消息。 10 5. 设计总结 转眼间 为期一周的嵌入式系统开发 课程设计转眼就结束了,这次课程设计,我学会了许多课本上学不到的东西,同时也加强了我的动手、思考和解决问题的能力 以及学会了相互帮助,相互团结的团队精神 ,受益匪 浅。 从前的学习过程过于浮浅,只是流于表面的理解,而现在要做课程设计,就不得不要求我们对所用到的知识有更深层次的理解。 因为课程设计的内容比及书本中的理论知识而言,更接近于现实生活 ,而理论到实践的转化往往是一个艰难的过程,它犹如一只拦路虎, 横亘 在我们的面前。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。 在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一 次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 感谢王 老师的悉心教导和认真帮助,在我们遇到各种困难时给予我们最深刻的指导,让我们能够较顺利的完成此次课程设计。 11 参考文献 ( 1) 华清远见嵌入式培训中心编著 《嵌入式 Linux 应用程序开发》(第二版)人民邮电出版社 20xx年 7 月 ( 2) 谢小云编著《嵌入式系统综合项目》江西理工大学应用科学学院出版社, 20xx 年 ( 3) 王天苗,魏洪兴编著《嵌入式系统设计 与实例开发》(第三看版)清华大学出版社, 20xx 年 12 附录 /******* 客户端程序 ************/ include include include include in。基于linux的实时通信软件设计(编辑修改稿)
相关推荐
22 25 宽度 R/mm 2500 3200 深度 T/mm 3700 4900 5500 高度 H/mm 2200 2400 2800 V=㎡ 15 20 22 25 宽度 R/mm 2500 3700 深度 T/mm 3700 4900 5500 高度 H/mm 2200 2400 2800 V=㎡ ① 18 20 22 25 宽度 R/mm ① 2800 3200 深度 T/mm ①
证加压机设备安全、用户正常生产的两道防线。 加压机后压力(变频)调节 回路如图 所示 图 加压机后压力(变频)调节 回路 (泄放)调节 这是加压机后压力调节的另一手段。 本回路为一定值单回路调节系统,其设定值为 14kPa,当加压机后出口压力升高/降低时,增大/减小泄压阀的开度,以 “泄 ”求 “稳 ”。 加压机后压力(泄放)调节 回路如图 所示 图 加压机后压力(泄放)调节 回路图 通常
子网掩码 ,只要是一串连续的 1(不少于 8个)和一串连续的 0就可以了(每段都是 8位)。 如,这也是一段合法的 子网掩码。 子网掩码 决定的是一个子网的计算机数目,计算机公式是 2的 m次方,其中,我们可以把 m看到是后面的多少个 0。 如 ,那就是,后面有 8个 0,那 m就是 8, 子网掩码 可以容纳 2的 8次方(台)电脑,也就是 256台,但是有两个 IP 是不能用的
3. 3 数据库设计 根据系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下数据项和数据结构: 用户信息,包括数据项:用户名、密码、头衔、头像、用户等级等; 版面信息,包括数据项:版面所属类型,版面的分类号、版主、上级版面、版面样式等; 帖子信息,包括数据项:所属版面、父帖子 ID、子帖子 ID、用户、主题、内容、发表时间等; 短消息信息,包括数据项:发件人、收件人、主题
)gxy : ( , )gxy = 1F [ ( , )Huv ( , )Fuv ] () 根据以上讨论 ,在频域中进行增强是相当直观的 ,主要步骤有 : (1)计算需增强的图像的傅里 叶变换。 (2)将其与 1 个传递函数相乘。 (3)再将结果进行傅里叶逆变换可以得到增强的图像。 常用的频域增强方法有 :低通滤波和高通滤波等。 低通滤波
率波动,日本也与美国相似,市场化改革都经历了十多年的时间,他们通过渐进式的改革,使金融市场功能更加完善,促进了经济的发展。 我国作为一个极不完善的发展中国家,在利率市场化的过程中,更适宜采取由政府主导的渐进的改革方式,金融当局也应当进行适时的监控,促进金融机构在适应改革的同时能够实现稳步发展,从而维持经济的稳定。 三 .我国利率市场化给商业银行带来的机遇和挑战 ( 1)完善了金融市场