您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 基于局域网的聊天程序设计
基于局域网聊天程序设计摘要:本论文讨论了Windows环境下局域网聊天程序的设计思路和设计方法。其中网络通信部分采用流行的TCP/IP协议。程序采用典型的C/S(服务器/客户端)构架。用socket编程设计网络通讯。界面设计部分采用WindowsMFC框架。数据库采用微软SQLServer。本文最终设计了一个简易版本的聊天软件,包括登陆、退出、添加好友、消息收/发等功能。关键词:SocketsAPI,C/S构架,SQLServer。RealizationofakindofLANchattoolAbstract:ThisarticlediscusseshowtodesignanddevelopaLANchattingprograminWindowsenvironment.ThenetworkcommunicationpartdependsonthepopularTCP/IPprotocol.SoftwareisbasedonC/Sarchitecture.NetworkcommunicationisdevelopedwithSocket.UIisdesignedwithWindowsMFCframe.DatabaseisdesignedwithSQLserver.Thearticledescribesaconcisechartsoftwareversion,withthefunctionofloggingin/out,addingfriendtolist,sending/receivingmessageandsoon.Keywords:SocketsAPI,C/Sarchitecture,SQLServer论文目录局域网聊天程序的设计...........................................错误!未定义书签。第一章、概述..................................................................2第二章、WINDOWSSOCKETS网络编程的研究........................错误!未定义书签。2.1TCP/IP体系结构......................................................52.2.1TCP/IP简介.........................................................52.2.2TCP/IP的特点.................................................................................................................52.2基本套接字...........................................................52.3客户机/服务器模式....................................................72.4WINDOWSSOCKETS程序设计.............................................82.4.1WINDOWSSOCKETSAPI简介............................................82.4.2WINDOWSSOCKETS机制...................................................................................................9第三章、网络通信模块分析......................................错误!未定义书签。3.1网络通信程序设计过程................................................113.2网络通信程序设计核心................................................133.2.1通信设计代码分析...................................................133.2.2数据传输代码分析...................................................173.2.3出错处理...........................................................19第四章、界面模块分析.........................................................204.1服务器端界面模块分析................................................204.2客户端界面模块分析..................................................214.2.1用户登陆界面分析...................................................214.2.2用户注册界面分析...................................................224.2.3在线用户列表界面分析................................错误!未定义书签。4.2.4用户聊天界面分析....................................错误!未定义书签。第五章、数据库模块分析........................................错误!未定义书签。5.1数据库的选择........................................................275.2数据库访问方法.......................................错误!未定义书签。5.3ADO数据库编程.......................................错误!未定义书签。5.3.1ADO与ADO接口简介.................................错误!未定义书签。5.3.2使用ADO操作SQL代码分析...........................................................错误!未定义书签。第六章、总结.................................................................336.1体会和感想..........................................................336.2总结...............................................................33第七章、参考书目..............................................错误!未定义书签。第一章概述即时通讯软件的出现正在逐渐改变人们的沟通与交际方式。无论近在咫尺,还是远隔重洋,也只是在键盘和鼠标之间就可以解决问题。即时通讯服务非常适合企业内部或企业和客户之间的交流。而且将即时通讯服务和手机移动等服务结合,将更大地提高工作效率。网络聊天程序.越来越影响着我们的网络生活。习惯了通过类似ICQ、QQ、MSN之类的程序和天南海北的朋友聊天、发信息,不过所有聊天程序都需要Internet的支持,而无法在局域网内部“大显身手”,那么你是否想到过要让单位内部的员工,寝室周围的同学,不用上Internet就可以轻松体验到内网聊天的快乐呢?有了这种想法,开发局域网聊天程序就有了必要性,让单位员工或寝室同学不出内网就能自由聊天!本文主要研究的是一个具有高度实用性的聊天程序软件的设计原理,思路和过程。通过该网络程序的编制和实践,对自己所学习的知识进行一次综合和提高,有更深层次的理解和掌握,在这过程中激发自己学习的潜力,提高软件开发的能力,加深对网络协议和windows环境下网络编程的理解和掌握。第二章、WindowsSocket网络编程的研究2.1TCP/IP体系结构2.2.1TCP/IP简介TCP/IP作为Internet的核心协议,通过近二十多年的发展已日渐成熟,并被广泛应用于局域网和广域网中,目前已成为事实上的国际标准。TCP/IP协议集确立了Internet的技术基础。TCP/IP协议主要作用于OSI网络参考模型中的网络层(第3层)、传输层(第4层)和应用层(第7层)。数据链路层(第2层)的功能主要应用于其它协议如以太网(Ethernet)、ATM、帧中继(FrameRelay),以及多数供应商特定协议等。TCP/IP充分支持所有通用第2层协议。TCP/IP组中的应用程序通常直接运行于传输层协议TCP或UDP上面,并不需要表示层(第6层)和会话层(第5层)的支持。2.2.2TCP/IP的特点TCP/IP协议的核心部分是传输层协议(TCP、UDP),网络层协议(IP)和物理接口层,这三层通常是在操作系统内核中设计。因此用户一般不涉及。编程时,编程界面有两种形式:一、是由内核心直接提供的系统调用;二、使用以库函数方式提供的各种函数。前者为核内设计,后者为核外设计。用户服务要通过核外的应用程序才能设计,所以要使用套接字(socket)来设计。2.2基本套接字下面给出几个基本的套接字,这些套接字的使用贯穿了网络编程的始末,主导了数据通信的过程。这将在以后的篇幅中会给出更详细的使用说明。1、创建套接字——socket()功能:使用前创建一个新的套接字格式:SOCKETPASCALFARsocket(intaf,inttype,intprocotol);参数:af:通信发生的区域type:要建立的套接字类型procotol:使用的特定协议2、指定本地地址——bind()功能:将套接字地址与所创建的套接字号联系起来。格式:intPASCALFARbind(SOCKETs,conststructsockaddrFAR*name,intnamelen);参数:s:是由socket()调用返回的并且未作连接的套接字描述符(套接字号)。其它:没有错误,bind()返回0,否则SOCKET_ERROR地址结构说明:structsockaddr_in{shortsin_family;//AF_INETu_shortsin_port;//16位端口号,网络字节顺序structin_addrsin_addr;//32位IP地址,网络字节顺序charsin_zero[8];//保留}3、建立套接字连接——connect()和accept()功能:共同完成连接工作格式:intPASCALFARconnect(SOCKETs,conststructsockaddrFAR*name,intnamelen);SOCKETPASCALFARaccept(SOCKETs,structsockaddrFAR*name,intFAR*addrlen);参数:同上4、监听连接——listen()功能:用于面向连接服务器,表明它愿意接收连接。格式:intPASCALFARlisten(SOCKETs,intbacklog);5、数据传输——send()与recv()功能:数据的发送与接收格式:intPASCALFARsend(SOCKETs,constcharFAR*buf,intlen,intflags);intPASCALFARrecv(SOCKETs,constcharFAR*buf,intlen,intflags);参数:buf:指向存有传输数据的缓
本文标题:基于局域网的聊天程序设计
链接地址:https://www.777doc.com/doc-2574818 .html