全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
天津理工大学实验报告学院(系)名称:计算机与通信工程学院姓名刘琪琪学号20125871专业网络工程班级1班实验题目HTTP网络编程通信课程名称网络编程课程代码实验时间2015实验地点7-219批改意见成绩教师签字: 实验 HTTP网络编程通信一 实验目的 利用windows socket编写B/S架构基于http的程序二 实验环境搭载 Windows 7 操作系统的PC机VC 6.0 编译器三 实验内容1,客户端是浏览器无需编写2,客户端发送连接请求3,服务器收到请求后返回消息表示连接成功四 实验报告要求1,服务器的完整代码2,实验结果截图3,Socket通信过程流程图五 部分源代码及主要Socket函数参考1, 注册套接字函数socket(int af,int type,int protocol)参数解释:af : 一个地址描述 ,目前只支持AF_INET格式,也就是说在本次实验中此参数直接写 为AF_INET即可。type: 指定socket类型,例如 TCP类型(SOCK_STREAM) UDP类型(SOCK_DGRAM)protocol: 套接口制订协议类型 可以为0,。 常用类型有 IPPROTO_TCP 、IPPROTO_UDP等2, 绑定套接字函数 bind ( SOCKET s , const struct sockaddr FAR *addr , int namelen );参数解释:s :socket()函数返回的套接口描述字addr : 指向Socket地址的指针namelen :该地址的长度3,监听函数listen(SOCKET s,int backlog)参数解释:s: socket()函数返回的套接口描述字backlog:等待连接队列的最大长度4,接收连接函数accept(SOCKET s,struct sockaddr FAR* addr,int FAR* addrlen)参数解释:s: socket()函数返回的套接口描述字addr:(可选)指针,指向一缓冲区,其中接收为通讯层所知的连接实体的地址。addr参数的实际格式由套接口创建时所产生的地址族确定addrlen:(可选)指针,输入参数,配合addr一起使用,指向存有addr地址长度的整型数5, 发送连接请求函数connect(SOCKET s,const struct coskaddr FAR* name,int namelen)s: socket()函数返回的套接口描述字name: 想要进行连接的端口名namelen: 名字长度服务器代码:#include#include#include#include#include#pragma comment(lib,ws2_32.lib)#define PORTNUMBER 8888int main(int argc, char * argv)char * respone = HTTP/1.1 200 OKrnContent-Type: text/plainrnContent-Length: 13rnrn20115629;WORD version;version = MAKEWORD(1, 1); /*单工传输WSADATA wsa;if(0 != WSAStartup(version, &wsa) /初始化socket()printf(WSAStartup error!n);exit(0);struct sockaddr_in servaddr;struct sockaddr_in clientaddr;int listenfd;int clientfd;int port;int alen;char buf1000;memset(&servaddr, 0, sizeof(servaddr); /初始化servaddr为0servaddr.sin_family = AF_INET;/*初始化地址簇servaddr.sin_addr.s_addr = INADDR_ANY;if(argc 1) /*同样是判断传入main()函数的参数,port = atoi(argv1); / *默认无参数下 直接初始化端口号和服务器网络序列 else port = PORTNUMBER;if(port 0)servaddr.sin_port = htons(unsigned short) port); /*把端口转换成网络序列 else fprintf(stderr, bad port number%dn, argv1);exit(0);listenfd = socket(AF_INET, SOCK_STREAM, IPPROTO_IP ); /*注册一个socket descriptionDWORD error = GetLastError();if(listenfd 0)fprintf(stderr, socket createion failed!n);exit(0);if(bind(listenfd, (struct sockaddr *) &servaddr, sizeof(servaddr) 0)/绑定到端口fprintf(stderr, bind failed!n);exit(0);if(listen(listenfd, 1) 0)/开始监听端口fprintf(stderr, listen failed!n);exit(0);while(1)/主循环alen = sizeof(clientaddr);if(clientfd = accept(listenfd, (struct sockaddr*)&clientaddr, &alen) 0)/接受客户端的连接fprintf(stderr, accept failed!n);exit(0);memset(buf, 0, 1000);recv(client
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国铼矿行业市场占有率及投资前景预测分析报告
- 中国防水胶条行业市场前景预测及投资价值评估分析报告
- Unit 7 Signs around us教学设计-2023-2024学年初中英语七年级上册牛津上海(试用本)
- 中国静脉输液耗材行业市场前景预测及投资价值评估分析报告
- 中国食品工业包装机械制造行业市场前景预测及投资价值评估分析报告
- 中国餐饮连锁行业投资分析、市场运行态势、未来前景预测报告
- 中国高合金不锈钢耐热钢行业市场前景预测及投资价值评估分析报告
- 中国魔芋粉条行业市场前景预测及投资价值评估分析报告
- 科学五年级上册1 光源获奖教学设计
- 2025校招:IT技术支持笔试题及答案
- 2023年高中音乐课件我为共产主义把青春贡献-选自歌剧《江姐》
- 2023学年完整公开课版DaddyRobot
- 在劳动教育中发展小学生的初步筹划思维 论文
- 隐患排查治理培训
- 全冷轧薄板质量缺陷图谱
- 高压电动机算例
- 留人招人激励方案实用文档
- 中医药治疗带状疱疹后遗神经痛
- 学龄儿童青少年生理特点
- 无线通信系统室内覆盖工程
- GB/T 17213.11-2005工业过程控制阀第3-2部分:尺寸角行程控制阀(蝶阀除外)的端面距
评论
0/150
提交评论