欢迎来到天天文库
浏览记录
ID:16250987
大小:369.00 KB
页数:14页
时间:2018-08-08
《仿qq通信系统课程设计最终修改版》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、课程设计课程设计报告设计名称:仿QQ通信系统学生姓名:班 级:组织单位:指导教师:时间:2013.6.3----2013.6.2313课程设计一、摘要即时通信,由于具有实时性、跨平台性、成本低、效率高等优点而受到广泛的使用。设计并实现一个能够处理多用户进行实时,安全的即时通信系统具有较强的现实意义。本文设计并实现了在linux环境里基于局域网内的简单即时通信系统,系统采用C/S模式,底层通信通过socket套接字接口实现,能进行简单实时通信并能实现文件的传输。关键字:即时通信TCP/UDPLinux文件传输二、需求分析局域网仿qq通信系统能实现即时通信,并且通讯采用TCP/UDP协议。
2、Socket是基于TCP/IP协议之上的一个接口规范,它为应用层之间的通信提供了保障。Socket适用于客户/服务器模式的网络应用程序设计,在使用面向连接模式时,使用TCP协议作为通信协议,为应用程序提供面向连接的服务。用Socket进行网络通信时,需要在客户端和服务器端分别创建一个Socket,服务器端创建成功以后在特定的端口上监听客户端的连接请求。如果有客户端的连接请求到来,则成功建立一个连接后,客户端和服务器端就可以互相进行通信了。但只能是和客户端进行点对点的通信,即服务器只允许有一个客户端的连接,如果有连接请求到达时,服务器端需要再创建一个新的Socket与客户端进行通信,而原来
3、的那个Socket仍处于监听状态,等待新的客户的连接请求。三、概要设计程序必须建立一个Socket,按照要求配置此Socket,也就是说程序要么将此Socket连接到远方的主机上,要么给此Socket指定一个本地协议端口。程序必须按要求通过此Socket发送和接收数据,程序必须关闭此Socket。客户端:——创建客户端套接字(CREATE);——开始数据传输(SEND、RECEIVE);——关闭套接字(CLOSESOCKET);服务器端:——创建服务器端套接字(CREATE);——服务器端套接字进行信息绑定(BIND),并开始监听连接(LISTEN);——接受来自客户端的连接请求(ACC
4、EPT),并创建接收进程;——开始数据传输(SEND、RECEIVE);——关闭套接字(CLOSESOCKET)。四、详细设计下面是实现TCP通信和UDP通信的流程13课程设计TCP通信程序的逻辑框图13课程设计UDP通信程序的逻辑框图一、源程序和运行结果清单#include#include#include#include#include#include#include#include//文件操作头文件#incl
5、ude#includevoidMenu(){printf("tt
6、================================================");13课程设计printf("tt
7、================================================");printf("tt
8、欢迎进入系统");printf("tt
9、================================================");printf("tt
10、1.UDP通信");pr
11、intf("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];//1.so
16、cketfd1=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("
此文档下载收益归作者所有