基于套接字的聊天程序设计

基于套接字的聊天程序设计

ID:3670913

大小:334.00 KB

页数:39页

时间:2017-11-22

基于套接字的聊天程序设计_第1页
基于套接字的聊天程序设计_第2页
基于套接字的聊天程序设计_第3页
基于套接字的聊天程序设计_第4页
基于套接字的聊天程序设计_第5页
资源描述:

《基于套接字的聊天程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、TCP/IP课程设计题目:基于套接字的聊天程序设计院系:计算机与电子信息学院专业:网络工程班级:网络10-2学号:10034120228姓名:刘亮日期:2012.9.25二O一二年编制1课程设计任务书一、设计题目基于TCP和UDP套接字的聊天程序设计二、设计目的:(1)理解客户机/服务器模型的工作原理;(2)掌握套接字的概念;(3)掌握基于套接字的面向连接和无连接客户机/服务器程序的设计原理和相关的WinSockAPI函数;(4)掌握基于TCP和UDP的程序设计方法。三、设计内容:(一)基于TCP的应用编程:编写一

2、个Client/Server程序对,服务器程序负责接收客户机进程的连接请求,并在服务器进程与客户机进程之间建立通信连接,然后接收客户机进程的传送数据并将其显示在服务器端,同时将欢迎信息发送给客户机进程,通信结束后关闭该客户机进程的连接;客户机进程首先提出对指定服务器的连接请求,建立连接后向服务器进程发送已经建立连接的数据信息,同时接收服务器进程发送过来的数据并显示在客户端。采用WinSockAIP实现代码。(二)基于UDP的应用编程:实现一个基于UDP的客户机/服务器程序,通过设定不同的命令行参数来确定应用进程的不

3、同角色,即充当客户机进程还是服务器进程。当两个进程运行后,彼此之间可以轮流发送消息,对方接收后显示出来。四、开发环境和语言:(1)网络:局域网;(2)开发环境:VS2005以上或VC++6.0以上版本;(3)开放语言:C/C++。-38-/39目录1通信原理分析-3-1.1TCP协议-3-1.3套接字的定义-4-1.4客户机/服务器模式的运行原理-5-2系统设计-5-2.1基于TCP应用程序设计:-5-2.2基于UDP应用程序设计:-5-3详细设计-6-3.1基于TCP的应用程序设计:-6-3.1.1服务器设计:-

4、6-3.1.2客户端设计:-9-3.2基于UDP的应用程序设计:-12-3.2.1服务端设计:-12-3.2.2客户端设计:-30-4代码调试与运行结果-34-4.1基于TCP的应用程序调试结果:-34-4.2基于UDP的运用程序调试结果:-35-5总结-38-5.1设计不足-38-5.2体会感想-39--38-/391通信原理分析1.1TCP协议TCP协议是一种面向连接的、可靠的传输层协议,为应用层提供可靠、全双工的数据流传输服务,TCP报文封装在IP数据报中。在使用TCP进行通信时需要首先建立TCP连接后再能进

5、行数据的传输,TCP连接建立为在不安全的IP网络中传输数据提供了数据完整的保障,在通信结束后要将该连接断开。下面给出基于TCP的c/s通信工作模式:服务器进程客户端进程socket()建立流套接字bind()套接字与本地地址绑定listen()侦听,准备接受连接accept()接受连接close()关闭套接字等待客户端进程连接请求的的到来recv()接受数据send()发送数据socket()建立流套接字connection()将套接字与远程主机连接send()发送数据recv()接受数据close()关闭套接字交

6、换数据交换数据基于tcp的c/s通信模式-38-/391.2UDP协议UDP是一种无连接、尽最大努力交付的运输层协议,不提供流量控制和确认机制,数据报可能丢失、延迟、乱序到达。这就是的UDP在实现起来就较为简单,这种简单能很好的应用在实时通信服务中,如实时语音传输、实时视频通信等。下面给出基于UDP的c/s通信工作模式:进程A进程Bclose()关闭套接字定socket()建立套接字bind()套接字与本地地址绑定recvform()接受数据socket()建立套接字bind()套接字与本地地址绑定recvform

7、()接受数据sendto()发送数据close()关闭套接字sendto()发送数据交换数据交换数据基于udpP的c/s通信模式1.3套接字的定义套接字我们可以认为就是通信的一端,其主要包括协议、ip、端口号。将两个套接字连接在一起就可以实现端到端的网络通信了。在套接字中封装了网络和传输层协议,从而为程序员屏蔽了底层通信的复杂性。针对不同通信的需求,在TCP/IP协议中提供了3种不同套接字类型,分别为:流式套接字(SOCK_STREAM)、数据保式套接字(SOCK_DGRAM)、原始套接字(SOCK_RAW)。流式

8、套接字(SOCK_STREAM)提供面向连接的,可靠的数据传输服务,数据无差错,无重复的发送,且按发送的顺序接收,基于TCP协议。-38-/39数据保式套接字(SOCK_DGRAM)提供无连接的服务,数据包以独立包形式发送,不提供无错误的保证,数据可能丢失或重复,且接收顺序混乱,基于UDP协议。原始套接字(SOCK_RAW)主要是在编写自定义底层协议的应用程

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

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

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