基于linux的网络聊天程序的开发内容摘要:

过程与程序开发 .......................................................................... 6 多线程的概念 ................................................................................................... 9 2 系统实现 .................................................................................................................. 11 界面实现 ........................................................................................................ 11 Linux 下的有关 Socket 系统调用 ................................................................. 13 TCP/IP 的使用 ................................................................................................ 15 TCP 通信实现 ................................................................................................ 15 服务端 .................................................................................................. 15 客户端 .................................................................................................. 18 3 运行效果 ................................................................................................................ 21 程序测试环境 ................................................................................................. 21 程序编译 ......................................................................................................... 21 服务端测试 ..................................................................................................... 21 客户端测试 ..................................................................................................... 21 结论 .............................................................................................................................. 25 参考文献 ...................................................................................................................... 26 附录 A: vt 码常用 ANSI 控制码表 ........................................................................ 27 附录 B:源程序 .......................................................................................................... 29 致 谢 ............................................................................................................................ 54 II 基于 Linux 平台下的网络聊天程序的开发 摘 要 Linux 操作系统作为一个开源的操作系统被越来越多的人所应用,它的好处在于操 作系统源代码的公开化。 制作一个 Linux 操作系统下的拥有人性化界面的实时通讯工具,将给那些刚刚接触 Linux 操作系统的用户带来极大的方便。 本设计实现了在 Linux 下简单的网络聊天室。 在 Linux 下编写并调试服务器端程序和客户端程序,实现了客户、客户之间的连接和通信。 可以在单机上开辟三个窗口分别运行客户、客户、服务器端的程序或者将两台主机连接一台作为客户和另一台作为服务器与客户端的方式。 本设计使用网络套接字 socket 和多线程在网络中的应用并基于 Linux 下的 vim 编辑器。 本方案经 gcc 调试器调试成功可以 在单机网络聊天中使用。 【关键词】 网络聊天室 Linux 聊天程序 III The Development of Network Chat Program Based on Linux Abstract Linux operating system as an open source operating system is used by more and more people. It has the advantage of the open operating system source code! Realtime munication tools have produced a humanized interface under the Linux operating system. It will bring great convenience to the users who just contact Linux operating system. Design and Implementation of the course in under Linux simple work chat rooms. Prepared in the Linux and debugging serverside processes and client to achieve the client, server and munications link between. Can open a standalone in three windows were running customer, client, the server program or two hosts connected to one as customers and the other as a client and server mode. The design of the work socket using the socket and multithreaded applications in the work and under Linux based vim editor. The program by the success of gcc debug debugger, you can chat in the use of standalone work. 【 Key words 】 work chat room Linux chat program 1 绪论 一、背景 在网络无所不在的今天, 在 Inter 上,有 ICQ、 MSN、 Gtalk、 OICQ 等网络聊天软件,极大程度上方便了处于在世界各地的友人之间的相互联系,也使世界好像一下子缩小了,不管你在哪里,只要你上了网,打开这些软件,就可以给你的朋友发送信息,不管对方是否也同时在线,只要知道他有号码。 Linux 操作系统作为一个开源的操作系统被越来越多的人所应用,它的好处在于操作系统源代码的公开化。 只 要是基于 GNU 公约的软件你都可以任意使用并修改它的源代码。 但对很多习惯于 Windows 操作系统的人来说 , Linux 的操作不够人性化、交互界面不够美观 , 这给 Linux 操作系统的普及带来了很大的阻碍。 因此制作一个 Linux 操作系统下的拥有人性化界面的实时通讯工具 , 将给那些刚刚接触 Linux 操作系统的用户带来极大的方便,而且通过设计这样的一个应用程序还能更好的学习网络编程知识和掌握 LINUX 平台上应用程序设计开发的过程,将大学四年所学知识综合运用,以达到检验学习成果的目的。 二、 Linux 介绍 Linux 是一 种自由和开放源代码的 类 UNIX操作系统。 定义 Linux 的组件是Linux 内核 ,该操作系统 内核 由 林纳斯托瓦兹 在 1991 年 10 月 5 日首次发布 [1]。 严格来讲,术语 Linux 只表示操作系统内核本身,但通常采用 Linux 内核来表达该意思, Linux 则常用来指基于 Linux 内核的完整操作系统,包括 GUI组件和许多其他实用工具。 由于这些系统工具和库主要由 GNU计划提供, 自由软件基金会 提议将该组合系统命名为 GNU/Linux。 Linux 是一个领先的操作系统,可以运行在 服务器 和其他大型平台之上,如 大型机 和 超级计算机。 世界上 500 个最快的超级计算机 90%以上运行 Linux 发行版或变种,最快的前 10 名超级计算机运行的都是 Linux 操作系统。 Linux 也广泛应用在 嵌入式 设备上,如 手机 、 平板电脑 、路由器 、 电视 和 电子游戏机 等。 在移动设备上广泛使用的 Android操作系统就是创建在 Linux 内核之上。 Linux 的昨天 1991 年 ,一名叫 Linus Torvalds 的芬兰大学生对 Unix 各种版本对于 80386 类的机器的脆弱支持十分不满 , 他决定要开发出一个全功 Linux 是一种自由和开放源代码的 类 UNIX操作系统。 定义 Linux 的组件是 Linux 内核 ,该操作系统 内核由 林纳斯托瓦兹 在 1991 年 10 月 5 日首次发布 [2]。 严格来讲,术语 Linux 只表示操作系统内核本身,但通常采用 Linux 内核来表达该意思, Linux 则常用来指基于 Linux 内核的完整操作系统,包括 GUI组件和许多其他实用工具。 由于这些 2 系统工具和库主要由 GNU计划提供, 自由软件基金会 提议将该组合系统命名为GNU/Linux。 Linux 是一个领先的操作系统,可以运行在 服务器 和其他大型平台之上,如 大型机 和 超级计算机。 世界上 500 个最快的超级计算机 90%以上运行Linux 发行版或变种,最快的前 10 名超级计算机运行的都是 Linux 操作系统。 Linux 也广泛应用在 嵌入式 设备上,如 手机 、 平板电脑 、 路由器 、 电视 和 电子游戏机 等。 在移动设备上广泛使用的 Android操作系统就是创建在 Linux 内核之上。 Linux 的今天 作为一各服务器级的操作系统 , Linux 已经成熟了。 现在的 Linux 内核由 150多行代码组成 , 能作为 Web 服务器平台 , 也 为越来越多的商业用户提供文件和打印服务。 它既被当作邮件服务器的一种候选平台 , 也被当作一种强壮而安全的防火墙。 Linux 的企业级特性 ,比如支持多处理器、支持大型文件系统、日志文件系统以及密集型计算和高可用性集群技术 , 也逐步成熟。 桌面上的 Linux 也在继续完 善。 KDE 桌面提供的图形用户界面在易用性和可配置方面都能和微软的 Windows 相媲美。 Linux 的明天 Linux 最强大的生命力在于其公开的开发过程。 每个人都有可以自由获取内核源程序 , 每个人都有要不得以运载源程序加以修改 , 而后他人也可以自由获取你修改后的源程序 [3]。 Linux 这种独特的自由流畅的开发模型已被命名为 bazaar(集市模型)。 Bazaar 开发模型通过重视实验 , 征集并充分利用早期的反馈 , 对巨大数量的脑力资源进行平衡配置 , 可以开发出更优秀的软件。 3 1 基本原理 TCP 和 UDP 通信 ( 1) UDP 通信 UDP 是 User Datagram Protocol 的。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。