文档介绍:. -
. . -
专业:[通 信 工 程]
学生XX:[X 世 超]
完成时间:3:43
TCP/IP技术实验报告书
. -
. . -
实验一 网络应用程序基础
实验目的:
通过实验,使学生熟悉并掌握运用TCP/IP技术进行网络编程的基本知识,加深对课堂教学内容的理解,掌握套接字网络通信编程技术,能够运用VC++为开发工具编程解决网络通信中的实际问题,进行一些简单的网络应用程序设计。实验内容:
1,Winsock的启动与终止。
2,Winsock的创建及绑定和关闭。
3,建立通信连接listen及accept和connect。
4,数据的传输。
5,简单的客户机/服务器之间的通信。
要求:通过在SDK模式下完成数据通信的过程,掌握Windows Socket的常用函数的形式和使用方法,理解数据通信的过程。
实验步骤:
1,打开VC环境
使用向导为客户端创建工程:选择可执行程序,选择使用wsa环境,单文档环境,其他的选择默认设置
在文件中添加代码
编译调试
使用向导为服务器端创建工程:选择可执行程序,选择使用wsa环境,单文档环境,其他的选择默认设置
在文件中添加代码
编译调试
分别打开两个系统命令窗口中,并分别在其中运行客户端和服务器端程序。
在客户端侧输入字符,可以看到服务器收到字符串
参考代码:课本156页--160页
实验结果:
Client:
#include<>
#include<>
//服务器端口号为5050
#define DEFAULT_PORT 5050
#define DATA_BUFFER 1024
void main(int argc,char *argv[])
{
WSADATA wsaData;
SOCKET sClient;
int iPort=DEFAULT_PORT;
. -
. . -
//从服务器端接收的数据长度
int iLen;
//接收数据的缓冲
char buf[DATA_BUFFER];
//服务器端地址
struct sockaddr_in ser;
//判断输入的参数是否正确
if(argc<2)
{
//提示在命令行中输入服务器IP地址
printf("Usage:client [server IP address]\n");
return;
}
//接收数据的缓冲区初始化
memset(buf,0,sizeof(buf));
if(WSAStartup(MAKEWORD(2,2),&wsaData)!=0)
{
printf("Failed to load Winsock.\n");
return;
}
//填写要连接的服务器地址信息
=AF_INET;
=htons(iPort);
//inet_addr()函数将命令行的点分IP地址转换为用二进制表示的网络字节顺序的IP地址
=i