1 / 34
文档名称:

多媒体实验报告.doc

格式:doc   大小:528KB   页数:34页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

多媒体实验报告.doc

上传人:mh900965 2018/5/27 文件大小:528 KB

下载得到文件列表

多媒体实验报告.doc

相关文档

文档介绍

文档介绍:计算机科学学院
多媒体实验报告
课程多媒体技术基础与实验教程
题目 UDP聊天程序
年级 2008级
专业计算机科学与技术
指导教师
小组成员
2011 年5 月3 日


学号
姓名
实验名称
UDP聊天程序
实验室
9#206







实验目的:
1、熟悉VisualC++的基本操作。
2、基本了解基于对话框的windows应用程序的编写过程。
3、对于Windows Socket编程建立初步概念。
实验要求:
1、应用Visual C++中MFC CSocket类,实现网络数据传输。
2、制作实用的局域网一对一聊天程序。
3、实现如下功能:
基本的聊天功能(收发信息);
常用语选择与添加;
闪屏的发送与接收;
给自己添加备注名;
查看聊天记录与聊天记录的清空;
清空聊天信息;
更改IP 地址;
消息查看框滑条自动下拉;
当前时间及时显示;




一、Windows Socket和套接口的基本概念
网际协议( Protocol,IP)是一种用于互联网的网络协议,已广为人知。它可广泛用于大多数计算机操作系统上,也可用于大多数局域网LAN(比如办公室小型网络)和广域网WAN(比如说互联网)。从它的设计看来,IP是一个无连接的协议,并不能保证数据投递万无一失。两个上层协议(TCP和UDP)依赖 IP 协议进行数据通信。
如果希望在Microsoft Windows下通过TCP和UDP协议建立网络应用程序,则需要使用Winsock套接口编程技术。
套接口,就是一个指向传输提供者的句柄。Win32中,套接口不同于文件描述符,所以它是一个独立的类型——SOCKET。Windows Sockets描述定义了一个Microsoft Windows的网络编程界面,它是从 Unix Socket 的基础上发展而来的,为 Windows TCP/IP 提供了一个 BSD型的套接字规范,除与 Unix Sockets完全兼容外,还包括一个扩充文件,通过一组附加的 A PI实现 Windows 式(即事件驱动)的编程风格;而Winsock则是在Microsoft Windows 中进行网络应用程序设计的接口。支配域中的TCP/IP协议定义了Winsock网络编程规范,融入了许多新特点。使用Socket的目的是使用户在网络协议上工作而不必对该网络协议有非常深入的了解。此外,编写的程序还可被迅速地移植到任何支持Socket的网络系统中去。
Winsock提供了一种可为指定传输协议打开、计算和关闭会话的能力。在Windows下,TCP/IP上层模型在很大程度上与用户的Winsock应用有关;换言之,用户的Winsock应用控制了会话的方方面面,必要时,还会根据程序的需要格式化数据。
套接口有三种类型:流式套接口、数据报套接口及原始套接口。
流式套接口定义了一种可靠的面向连接的服务(利用TCP协议),实现了无差错无重复的顺序数据传输。数据报套接口定义了一种无连接的服务(UDP协议),数据通过相互独立的报文进行传输,是无序的,并且不保证可靠和无差错。原始套接口允许对低层协议如IP或ICMP直接访问,主要用于新的网络协议实现的测试等。
面向连接服务器处理的请求往往比较复杂,不是一来一去的请求应答所能解决的,而且往往是并发服务器。使用面向连接的套接口编程,可以通过图 来表示。
无连接服务器一般都是面向事务处理的,一个请求、一个应答就完成了客户程序与服务程序之间的相互作用。若使用无连接的套接口编程,。
套接口工作过程如下:服务器首先启动,通过调用socket()建立一个套接口,然后调用bind()将该套接口和本地网络地址联系在一起,再调用listen()使套接口做好侦听的准备,并规定它的请求队列的长度,之后,ept()来接收连接。客户在建立套接口后就可调用connect()和服务器建立连接。连接一旦建立,客户机和服务器之间就可以通过调用read()和write()来发送和接收数据。最后,待数据传送结束后,双方调用close()关闭套接口。
在网络编程中,掌握端口的概念十分重要。端口:基于TCP/IP协议的网络中,计算机都分配有一个IP地址,用一个32位二进制数来表示,正式的称呼是“Ipv4地址”。客户机需要通过TCP或UDP和服务器通信时,必须指定服务器的IP地址和服务端口号。另外,服务器打算侦听接入客户机请求时,。在选择端口时,应特别小心,因为有些可用端口号是为“已知的”(即固定的)服务保留的,如文件传输协