《Windows网络程序设计》实验指导书.doc
文本预览下载声明
《Windows网络程序设计》课程实验指导书
课程名称:Windows网络程序设计 实验学时: 10
适用专业:数字媒体技术 课程类别: 必修
一、实验教学任务与目的:
《Windows网络程序设计》课程是数字媒体技术专业的必修课。实验的目的是为了配合课堂教学,进一步强化使用Winsock的网络程序设计技术。具体内容主要包含TCP/IP的实现技术、网络程序设计基本知识、TCP编程、UDP编程、网络综合程序设计、Winsock常用函数介绍及其应用等内容。
二、实验项目内容、基本要求与学时分配
序号
实验项目名称
实验学时
实验类别
实验类型
实验要求
实验内容提要
1
tcp/ip网络程序框架建立
2
专业基础
验证
必做
设计基于tcp的函数,使用winsock api调用
2
基于udp的网络程序设计
2
专业基础
综合
必做
设计基于udp的函数,使用winsock api调用
3
利用MFC进行Winsock编程
4
专业基础
综合
必做
使用MFC框架,构造网络聊天器。
4
构建网络五子棋游戏
2
专业基础
综合
必做
使用Csocket类做一个五子棋游戏,能够进行网络游戏
注:1、实验类别:基础、专业基础、专业、其它。
2、实验类型:演示、验证、综合、设计研究、其它。
3、实验要求:必做、选做。
三、实验项目的目的及要求
实验一 Tcp/ip网络程序框架建立 (2学时)
(一)实验目的和要求:
1.设计基于tcp的函数,逐步了解winsock api调用方法
2 掌握winsock网络程序的吉本框架
(二)实验设备及材料:
1.微机
2.安装Microsoft Visual C++ 6.0
(三)实验内容
1. 手工输入教科书P188 例子8.2.2服务器程序和8.2.3客户机程序,掌握CS模式TCP程序的基本方法。
在visual c++6.0平台下,file-new-projects-win32 console application.生成一个 project name为tcp_server的项目。再通过file-new-files生成一个C++的空文件。输入例子8.2.2的代码。编译通过后,链接会出现问题。在菜单project里面选择settings-link里面的object/library modules 添加 wsock32.lib。想想,为什么?
在visual studio 2005下面如何操作?自己尝试
2.创建Windows时间服务器程序,侦听1234端口,发送时间的字符形式,实现由RFC-867定义的daytime协议。
3.创建Windows时间客户端程序,向daytime服务器的1234端口,获取时间并显示。
4. 在时间网络客户/服务器模式基础上,进行改动,使得客户机和服务器能够进行消息发送。
将服务器中的代码从
while(1)
{
connectionFd = accept(serverFd, (struct sockaddr *)NULL, NULL);
if(connectionFd =0)
{
currentTime = time(NULL);
sprintf(timebuffer, %s, ctime(currentTime));
printf(已有%d个访问者\n,i++);
send(connectionFd, timebuffer, strlen(timebuffer),0);
// char *msg= hello, its a message from qian guiping;
// sprintf(timebuffer, %s\n, msg);
// send(connectionFd, timebuffer, strlen(timebuffer),0);
closesocket(connectionFd);
}
}
改为如下代码,想想看,为什么这么改?
while(1)
{
//操作系统利用第二个参数来返回新创建的套接字的地址结构;
//操作系统利用第三个参数来返回新创建的套接字的地址结构的长度
connectionFd = accept(serverFd, (struct sockaddr *)NULL, NULL);
while(connectionFd =0)
{
currentTime = time(NULL);
sprintf(timebuffer, %s, ctime(currentTime));
printf(第%d次通话\n,i++);
send(connectionF
显示全部