基于Winock API的TCP网络程序的编写与分析.doc

基于Winock API的TCP网络程序的编写与分析.doc

ID:59428630

大小:119.50 KB

页数:9页

时间:2020-05-25

基于Winock API的TCP网络程序的编写与分析.doc_第1页
基于Winock API的TCP网络程序的编写与分析.doc_第2页
基于Winock API的TCP网络程序的编写与分析.doc_第3页
基于Winock API的TCP网络程序的编写与分析.doc_第4页
基于Winock API的TCP网络程序的编写与分析.doc_第5页
资源描述:

《基于Winock API的TCP网络程序的编写与分析.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验一报告单班级1206101姓名何梦霞学号28实验日期2015.4.9评分___________1.实验名称基于WinSockAPI的TCP网络程序的编写与分析2.实验目的(1)掌握常用的WinSockAPI函数。(2)掌握基于WinSockAPI函数和TCP协议的网络通信控制台程序的编写方法。3.实验地点信息楼4074.实验环境计算机局域网、VisualC++6.05.实验性质验证性6.实验学时2学时7.实验内容(1)基于WinSockAPI函数和TCP协议的daytime网络程序的编写与分析①在VisualC++6.0中,编写d

2、aytime网络通信服务器程序。②在VisualC++6.0中,编写daytime网络通信客户端程序。(2)基于WinSockAPI函数和TCP协议的网络通信控制台程序的编写与分析①在VisualC++6.0中,编写基于WinSockAPI函数和TCP协议的网络通信控制台服务器程序。②在VisualC++6.0中,编写基于WinSockAPI函数和TCP协议的网络通信控制台客户端程序。(3)对编写好的网络通信程序在局域网两台不同的电脑上调试。(4)对编写好的网络通信程序在一台电脑上调试运行。8.实验步骤(1)基于WinSockAPI函

3、数和TCP协议的daytime网络程序的编写与分析①在VisualC++6.0中,编写daytime网络通信服务器程序。服务器端程序代码如下:/***************************************************************daytime协议的服务器程序分析注解服务器端程序代码如下:服务器的IP地址:由系统指定服务器端口号:13程序名称:daytime.cpp程序功能:实现由RFC—867定义的daytime协议命令格式:daytime***************************

4、************************************/#include"winsock2.h"#include"stdio.h"#include"time.h"#pragmacomment(lib,"WS2_32.lib")#defineMAX_BUFFER1024/*服务器缓冲区的最大值为1024个字符*///#defineNULL0#defineDAYTIME_SERVER_PORT13/*常量表示服务器的端口号为13*/intmain(){SOCKETserverFd;intconnectionFd,i=1;

5、/*统计客户请求次数*/structsockaddr_inservaddr;chartimebuffer[MAX_BUFFER+1];time_tcurrentTime;WSADATAwsaData;if(WSAStartup(MAKEWORD(2,2),&wsaData)==SOCKET_ERROR){printf("命令套接口初始化失败");WSACleanup();//终止使用WinsockDLL库,释放系统资源return-1;}serverFd=socket(AF_INET,SOCK_STREAM,0);/*创建服务器端

6、的套接字,三个参数分别代表使用TCP/IP;传输过程使用TCP;不适用其他特殊协议*/if(serverFd==-1){printf("socketerror!");WSACleanup();//终止使用WinsockDLL库,释放系统资源return(-1);}memset(&servaddr,0,sizeof(servaddr));servaddr.sin_family=AF_INET;servaddr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);/*将4字节主机字节数顺序转换到网络字节顺序*

7、/servaddr.sin_port=htons(DAYTIME_SERVER_PORT);/*将4字节主机字节数顺序转换到网络字节顺序*/if(bind(serverFd,(structsockaddr*)&servaddr,sizeof(servaddr))==SOCKET_ERROR)/*地址绑定*/{printf("bind()Failed:%d",WSAGetLastError());WSACleanup();//终止使用WinsockDLL库,释放系统资源return(-1);}listen(serverFd,5);/

8、*监听客户端的连接请求,定义最大的链接次数为5次*/printf("daytime服务器已经启动,正在监听来自客户端的服务请求......");//运行界面上提示服务器软件处于启动状态while(1){connect

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

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

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