linux仿qq通信系统课程设计最终修改版

linux仿qq通信系统课程设计最终修改版

ID:26048730

大小:376.00 KB

页数:14页

时间:2018-11-24

linux仿qq通信系统课程设计最终修改版_第1页
linux仿qq通信系统课程设计最终修改版_第2页
linux仿qq通信系统课程设计最终修改版_第3页
linux仿qq通信系统课程设计最终修改版_第4页
linux仿qq通信系统课程设计最终修改版_第5页
资源描述:

《linux仿qq通信系统课程设计最终修改版》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程设计一、摘要即时通信,由于具有实时性、跨平台性、成本低、效率高等优点而受到广泛的使用。设计并实现一个能够处理多用户进行实时,安全的即时通信系统具有较强的现实意义。本文设计并实现了在linux环境里基于局域网内的简单即时通信系统,系统采用C/S模式,底层通信通过socket套接字接口实现,能进行简单实时通信并能实现文件的传输。关键字:即时通信TCP/UDPLinux文件传输二、需求分析局域网仿qq通信系统能实现即时通信,并且通讯采用TCP/UDP协议。Socket是基于TCP/IP协议之上的一个接口规范,它为应用层之间的通信提供了保障。Socket适用于客户/服务

2、器模式的网络应用程序设计,在使用面向连接模式时,使用TCP协议作为通信协议,为应用程序提供面向连接的服务。用Socket进行网络通信时,需要在客户端和服务器端分别创建一个Socket,服务器端创建成功以后在特定的端口上监听客户端的连接请求。如果有客户端的连接请求到来,则成功建立一个连接后,客户端和服务器端就可以互相进行通信了。但只能是和客户端进行点对点的通信,即服务器只允许有一个客户端的连接,如果有连接请求到达时,服务器端需要再创建一个新的Socket与客户端进行通信,而原来的那个Socket仍处于监听状态,等待新的客户的连接请求。三、概要设计程序必须建立一个Soc

3、ket,按照要求配置此Socket,也就是说程序要么将此Socket连接到远方的主机上,要么给此Socket指定一个本地协议端口。程序必须按要求通过此Socket发送和接收数据,程序必须关闭此Socket。客户端:——创建客户端套接字(CREATE);——开始数据传输(SEND、RECEIVE);13课程设计——关闭套接字(CLOSESOCKET);服务器端:——创建服务器端套接字(CREATE);——服务器端套接字进行信息绑定(BIND),并开始监听连接(LISTEN);——接受来自客户端的连接请求(ACCEPT),并创建接收进程;——开始数据传输(SEND、RE

4、CEIVE);——关闭套接字(CLOSESOCKET)。一、详细设计下面是实现TCP通信和UDP通信的流程TCP通信程序的逻辑框图13课程设计UDP通信程序的逻辑框图13课程设计一、源程序和运行结果清单#include#include#include#include#include#include#include#include//文件操作头文件#include#inc

5、ludevoidMenu(){printf("tt

6、================================================");printf("tt

7、================================================");printf("tt

8、欢迎进入系统");13课程设计printf("tt

9、================================================");printf("tt

10、1.UDP通信");printf("

11、tt

12、2.TCP通信");printf("tt

13、3.文件传输");printf("tt

14、4.exit");printf("tt

15、================================================");}void*recver(void*data){intfd1;//文件描述符structsockaddr_inaddr1;structsockaddr_inaddr_send1;//发送者地址对象socklen_tlen1;//socket_t类型的变量lenintr1;//结果charbuf1[200];//

16、1.socketfd1=socket(AF_INET,SOCK_DGRAM,0);/*AF是网络传输,so..是udp报文传输,0是自动比配*/if(fd1==-1)printf("socketerr:%m"),exit(-1);printf("Asocketok");//2.bindaddr1.sin_family=AF_INET;//全大写模式的是宏状态addr1.sin_port=htons(9999);inet_aton("127.0.0.1",&addr1.sin_addr);r1=bind(fd1,(structsockaddr*)&addr

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

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

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