Linux聊天室程序设计.doc

Linux聊天室程序设计.doc

ID:57688928

大小:417.50 KB

页数:23页

时间:2020-09-01

Linux聊天室程序设计.doc_第1页
Linux聊天室程序设计.doc_第2页
Linux聊天室程序设计.doc_第3页
Linux聊天室程序设计.doc_第4页
Linux聊天室程序设计.doc_第5页
资源描述:

《Linux聊天室程序设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Linux聊天室程序设计学院:姓名:班级:学号:指导老师:目录实验基本介绍--------------------------------------------------1第一章实验分析及关键技术-------------------------------------11.1实验分析-------------------------------------------11.2TCP通信-------------------------------------------21.3多线程---------------------------------------------21.4数据类型

2、及用法-------------------------------------31.5网络套接字-----------------------------------------41.6地址及顺序处理-------------------------------------41.7连接函数的说明-------------------------------------5第二章Linux网络聊天室socket编程实现过程-------------------72.1聊天室Socket编程连接过程--------------------------82.2客户端主界面及聊天功能展示-------

3、------------------8第三章总结-------------------------------------------------10程序代码----------------------------------------------------11参考文献-----------------------------------------------------21基于Linux网络聊天室的设计与实现实验基本介绍本系统实现了在Linux网络聊天室的基本功能。在Linux下编写并调试服务器端程序和客户端程序,实现了客户、服务器之间的连接接和通信。可以在单机上开辟两个窗口分别运行客

4、户、服务器端的程序,或者两台主机链接分别作为客户和服务器的方式。总体来说,此设计以嵌入式C语言为开发语言,使用网络套接字socket建立连接,并运用多线程实现数据的交换,程序经gcc调试成功,可以在单机网络聊天中使用。第一章实现分析及关键技术21.1.实现分析1.1.1功能分析本系统是要在Linux系统下实现一个聊天室系统,主要有服务器和客户端。它具备的基本功能包括群聊、私聊等。1、服务器端:负责处理用户发来的各种信息,管理用户的动作(用户注册、群发信息、和特定用户私聊等)2、客户端:主要是可以发送信息给特定用户或群等功能。1.1.2设计分析本聊天系统的为c/s形式,服务器主要就是处理客户的输

5、入信息。首先要存储客户的个人资料;当然,服务器还有自己的动态数据处理。客户状态分为链接客户、非链接客户,我们采用结构体存储链接客户的信息,以链表式来记录链接客户。用户输入自己的名字,同时并发服务器要一直在为连接用户创建线程,系统设计的总框图[13],看图3.1系统设计总框图客户端socket服务器图3.1系统设计总框图1.1.3技术分析基于以上的功能分析和数据分析,首先通信Socket套接字是实现c/s通信的接口,且使用tcp协议。传输数据时,客户端需要创建两个线程分别监听键盘(即用户输入信息)和socket接口(即传入信息)。服务器则要给每个链接的客户创建一个线程来进行信息的传输,即实现并发

6、服务器,正如图3.1所示。并发服务器是指在一个时刻可以处理多个客户请求的服务器。这只是概念上和表面的并发,并不一定是真正同时处理多个请求,如果服务器具有多个处理器,则是实际的并发,但对于大多数服务器来说,是利用操作系统的某种机能,比如异步i/o、多进程、多线程等技术来实现的,只是从客户的角度看上去看仿佛服务器并发地与多个客户通讯。linux提供了两种形式的并发,进程和线程。因此常见的并发服务器即是基于进程的并发和基于线程的并发两种类型。线程并发服务器是使用就涉及到线程同步问题,mutex(互斥量)则能解决这个问题。当然最主要的是socket函数调用。1.2TCP通信Socket是建立在传输层协

7、议(主要是TCP和UDP)上的一种套接字规范,Socket接口是TCP/IP网络最为通用的API,也是在Internet上进行应用开发最通用API[14],socket屏蔽了底层通信软件和具体操作系统的差异,使得任何两台安装了TCP协议软件和实现了Socket规范的计算机之间的通信成为可能。TCP是传输控制协议的简称,它是提供一条全双工的、可靠的信道。TCP提供面向连接的服务,在传送数据之前必须先

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。