网络编程聊天程序课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课题名称:TCP/IP协议及网络编程技术课程设计子课题:实现简化功能的客户机和服务器聊天程序
院(系):计算机学院
专业:通信工程
班级:
学生姓名:hshengxue
学号:200900402022
指导教师:周坚和
2012年 6 月22 日
目录
摘要 (3)
引言 (3)
一、课程设计的目的和意义 (3)
二、课程设计的内容和要求 (3)
三、课程设计所需了解的相关内容和技术 (4)
(一)、套接口 (4)
(1)套接口的概念 (4)
(2)套接口的分类 (5)
(3) Socket工作模式 (6)
(二)、所用的关键技术 (6)
(三)Winsock API的使用 (7)
四、课程设计过程 (7)
(一)设计思路 (7)
(1)服务器的主要工作流程 (7)
(2)客户机的工作流程.............................................8. (3)服务器的工作流程 (8)
五、编程实现 (9)
(一)服务器端的实现 (9)
(二)客户端的实现 (11)
六、小结 (15)
七、参考文献 (16)
摘要:
网络应用程序是通过网络使用通信协议实现进程间的通信;本项目采用软件工程的方法,综合运用网络程序设计,以visual c++6.0
作为系统前台应用程序开发工具。

此局域网聊天工具采用客户端/
服务端(C/S)模式和UDP连接。

它由两个程序组成:服务器(Server)和客户端(Client),首先需要登录服务器,再登录客户端,需要指定服务器IP地址以便与服务器建立连接。

登录后,客户可以在自己的界面上与另一指的定的客户端进行聊天。

服务器模块主要用来维护网络用户用户的信息,包括用户IP地址,聊天内容;聊天客
户端模块主要包括用户连接,发送信息,接收信息。

是一套用于
Internet网络使用的网络聊天工具,其操作简单,灵活性好,运用
也比较稳定。

关键词:网络,聊天程序,客户端/服务端,UDP传输控制协议。

0、引言
网络应用程序是通过网络使用通信协议实现进程间的通信,UDP 是TCP/IP协议族为传输层设计的两个协议之一,UDP提供的是无连接、不可靠的网络传输协议,在进行网络应用程序设计时,TCP/IP 协议的核心内容被封装在操作系统中。

网络应用程序要使用UDP协议来实现自己的功能,只能通过由系统提供给用户的UDP协议编程接口来实现。

因此,可以说设计网络应用程序就是利用网络编程接口(API)进行程序设计的过程。

在Windows环境下的网络应用程序编程接口叫
Windows Sockets,即套接口。

一、课程设计的目的和意义
UDP是TCP/IP协议族为传输层设计的两个协议之一,它在进程
与进程的通信过程中,提供了有限的差错校验功能,是一种无连接的,不可靠的协议。

UDP在一个较低的水平上完成进程之间的通信,在收
到分组的时候没有流量控制机制也没有确认机制,适用于可靠性比较高的局域网。

由于UDP采取了无连接的方式,因此协议简单,在一些
特定的应用中协议运行效率高。

UDP适合一些实时的应用,如IP电话,视频会议,它们要求源主机以恒定的速率发送数据,并且在网络
出现拥塞时,可以丢失一些数据,但是延迟不能太大。

基于这些特点,流式多媒体通信、多播等应用在传输层采用的就是UDP协议。

因为UDP具有TCP所望尘莫及的速度优势。

虽然TCP协议中植入了各种安全保障功能,但是在实际执行的过程中会占用大量的系统开销,无疑使速度受到严重的影响。

反观UDP由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执行时间,使速度得到了保证。

二、课程设计的内容和要求
用socket 编程接口编写两个程序,分别为客户机程序(client.cpp)和服务器程序(server.cpp),使用UDP传输层协议,能实现下述功能。

(1)程序能流畅地完成信息内容的传输和接收。

(2)要能对多个客服端进行管理。

需要通过UDP模拟多个客服端连接验证的情况。

三、课程设计所需了解的相关内容和技术
(一)、套接口
(1)套接口的概念
WindowsSockets API 依靠套接口Socket进行通信。

套接口可看成是两个网络应用程序进行通信时,各自通信连接中的一个端点。

通信时,其中的一个网路应用程序将要传输的一段信息写入它所在主
机的Socket中,该Socket通过网络接口卡(NIC)的传输介质将这段信息发送到另一台主机的Socket中,使这段信息能传送到其它程序中,如图1所示。

[1]
当主机A上的网络应用程序A要发送数据时,通过调用数据发送函数首先将要发送的一段信息写入Socket中,Socket中的内容通过主机A的网络管理软件由主机A的网络接口卡发送到主机B,主机B的网络接口卡接收到这段信息后,再传给主机B的网络管理软件,网络管理软件将这段信息保存在主机B的Socket中,然后程序B才。

相关文档
最新文档