资源描述:
《《综合课程设计》设计报告-基于socket的即时通讯系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、评阅教师评语:课程设计成绩考勤成绩实做成绩报告成绩总评成绩指导教师签名:《综合课程设计》设计报告论文题目:基于Socket的即时通讯系统学院(系):电子信息与自动化学院班级:72——1学生姓名:学号指导教师:时间:2011年6月7日到2011年6月17日一、设计目的通过综合课程设计,使学生能够运用《数字信号处理》、《信号与系统》、《通信原理》、《面向对象的程序设计》、《计算机通信网》、《通信协议开发及应用》等课程的知识来设计一个基于Socket的即时通讯系统,培养学生的动手能力以及分析问题、解决问题的能力。二、设计内容一个基于Socket的即时通讯系统的多人聊天软件三、设计要求(一)基本要求
2、1.熟练掌握面向对象的程序设计方法;2.实现点对点通讯,能进行文字对话传输,包括客户端与服务器端;3.能对系统参数进行配置。(二)提高要求1、实现文件、图片传输;2、语音对话(两人及两人以上);3、友好的对话界面。四、设计原理1TCP/IP简介 TCP/IP的历史要追溯到70年代中期,当时ARPA为了实现异种网之间的互连(interconnection)与互通(intercommunication),大力资助网间网技术的研究和开发,于1977年到1979年推出目前形式的TCP/IP体系结构和协议规范.到今天,TCP/IP技术以及Internet网间网已经为广大计算机工作者,机算机厂商和机算
3、机用户所接受.据统计,到1990年,Internet以包含遍布欧美的五千个活动网络,超过三十万台机算机.作为一种事实上的工标准,TCP/IP技术方兴未艾.2TCP/IP的网络分层结构 对TCP/IP协议来说,TCP提供传输层服务,IP提供网络层服务.TCP/IP协议组(或Internet协议组)的分层结构及其与OSI模型的对应关系如图4所示.图中有关协议的名称及其基本含义如下: (1)TCP. 为传输控制协议(TransmissionControlProtocol).它是提供给用户进程的一个可靠的全双工字节流的面向连接的协议.大多数Internet应用程序使用TCP.因为TCP使用IP,
4、所以整个Internet协议组也常称为TCP/IP协议组. (2)UDP.为用户数据报协议(UserDatagramProtocol). (3)ICMP.为网间报文控制协议(InternetControlMessageProtocol). (4)IP.网间协议(InternetProtocol).IP协议是为TCP,UDP和ICMP提供分组发送服务协议. (5)ARP.地址转换协议. (6)RARP.反向地址转换协议.3Socket编程界面 (1)Socket原理 Socket编程界面由4BSDUNIX首先提出,目的是解决网间网进程通信问题.Socket接口为进程间通信提供了一
5、种新的手段,它不但能用于同一机器中的进程之间的通信,而且支持网络通信功能.Socket具有类型,反应了对用户透明的通信特性. 一个完整的Socket连接用一个相关描述: {协议,本地地址,本地端口,远地地址,远地端口} Socket是面向客户-服务器模型而设计的,针对客户和服务器程序提供不同的Socket系统调用. (2)Socket系统调用 不管Socket内部机制如何,它提供给应用程序员的最终界面是一组系统功能调用.下面,我们一一给出重要的Socket系统调用. 1.创建Socket-----socket() 调用格式如下: sockid=sock
6、et(af,type,protocol) af:地址族,指本socket所用地址类型. type: 类型,指创建socket的应用程序所希望的通信服务器类型. protocol:协议,指本socket请求的协议. 2.指定本地地址----bind()调用 bind()将本地socket地址与所创建的socket联系起来,即将本socket地址赋予socket,以指定本地半相关.bind()的作用相当于给socket命名,调用格式为: bind(sockid,localaddr,addrlen) sockid:socket号. localadd
7、r:本地socket地址. addrlen:地址长度. 3.建立socket连接----connect()与accept()调用 这两个系统调用用于完成整个相关的建立.其中connect用于建立连接.调用格为: connect(sockid,destaddr,addrlen) destaddr:指向对方socket地址(信宿地址)结构的指针. accept:用于面向