实验四 网络编程通信http

实验四 网络编程通信http

ID:39577481

大小:168.00 KB

页数:5页

时间:2019-07-06

实验四 网络编程通信http_第1页
实验四 网络编程通信http_第2页
实验四 网络编程通信http_第3页
实验四 网络编程通信http_第4页
实验四 网络编程通信http_第5页
资源描述:

《实验四 网络编程通信http》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、天津理工大学实验报告学院(系)名称:计算机与通信工程学院姓名刘琪琪学号20125871专业网络工程班级1班实验题目HTTP网络编程通信课程名称网络编程课程代码实验时间2015实验地点7-219批改意见成绩教师签字:实验HTTP网络编程通信一实验目的利用windowssocket编写B/S架构基于http的程序二实验环境搭载Windows7操作系统的PC机VC6.0编译器三实验内容1,客户端是浏览器无需编写2,客户端发送连接请求3,服务器收到请求后返回消息表示连接成功四实验报告要求1,服务器的完整代码2,实验结果截

2、图3,Socket通信过程流程图五部分源代码及主要Socket函数参考1,注册套接字函数socket(intaf,inttype,intprotocol)参数解释:af:一个地址描述,目前只支持AF_INET格式,也就是说在本次实验中此参数直接写为AF_INET即可。type:指定socket类型,例如TCP类型(SOCK_STREAM)UDP类型(SOCK_DGRAM)protocol:套接口制订协议类型可以为0,。常用类型有IPPROTO_TCP、IPPROTO_UDP等2,绑定套接字函数bind(SOCKE

3、Ts,conststructsockaddrFAR*addr,intnamelen);参数解释:s:socket()函数返回的套接口描述字addr:指向Socket地址的指针namelen:该地址的长度3,监听函数listen(SOCKETs,intbacklog)参数解释:s:socket()函数返回的套接口描述字backlog:等待连接队列的最大长度4,接收连接函数accept(SOCKETs,structsockaddrFAR*addr,intFAR*addrlen)参数解释:s:socket()函数返回的

4、套接口描述字addr:(可选)指针,指向一缓冲区,其中接收为通讯层所知的连接实体的地址。addr参数的实际格式由套接口创建时所产生的地址族确定addrlen:(可选)指针,输入参数,配合addr一起使用,指向存有addr地址长度的整型数5,发送连接请求函数connect(SOCKETs,conststructcoskaddrFAR*name,intnamelen)s:socket()函数返回的套接口描述字name:想要进行连接的端口名namelen:名字长度服务器代码:#include#incl

5、ude#include#include#include#pragmacomment(lib,"ws2_32.lib")#definePORTNUMBER8888intmain(intargc,char*argv[]){char*respone="HTTP/1.1200OKrContent-Type:text/plainrContent-Length:13rr20115629";WORDversion;versi

6、on=MAKEWORD(1,1);//********单工传输WSADATAwsa;if(0!=WSAStartup(version,&wsa)){//初始化socket()printf("WSAStartuperror!");exit(0);}structsockaddr_inservaddr;structsockaddr_inclientaddr;intlistenfd;intclientfd;intport;intalen;charbuf[1000];memset(&servaddr,0,sizeof(

7、servaddr));//初始化servaddr为0servaddr.sin_family=AF_INET;//*****初始化地址簇servaddr.sin_addr.s_addr=INADDR_ANY;if(argc>1){//***同样是判断传入main()函数的参数,port=atoi(argv[1]);//***默认无参数下直接初始化端口号和服务器网络序列}else{port=PORTNUMBER;}if(port>0){servaddr.sin_port=htons((unsignedshort)po

8、rt);//****把端口转换成网络序列}else{fprintf(stderr,"badportnumber%d",argv[1]);exit(0);}listenfd=socket(AF_INET,SOCK_STREAM,IPPROTO_IP);//**注册一个socketdescriptionDWORDerror=GetLastError();if(listen

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

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

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