首页 > 代码库 > 【windows socket+HTTP服务器客户端】
【windows socket+HTTP服务器客户端】
Windows Socket+HTTP服务器客户端
Winsock是 Windows下套接字标准。
1.HTTP协议:
HTTP是基于客户端/服务器的请求,响应协议。
请求:由客户端向服务器发起,指定了要从服务器获取的资源。请求包含了协议首部,指明了客户端处理能力信息,如可以处理的文件类型,支持的语言,编码方式等。
响应:服务器收到客户端的请求后,解析这个请求,构造响应,并发送给客户端。响应同样包含了协议首部,指明了服务器的相关信息。
2.简易HTTP服务器与客户端:
实际中的HTTP协议,考虑到多种需求,协议具有一定的复杂性,这里我们只实现一个简单的HTTP服务器与客户端,重在理解HTTP协议的工作原理。
Winsock编程下,客户端通过socket向客户端发送一段数据(即请求),这段数据包含了客户端请求的资源(即文件)。
客户端收到这段数据后,对这段数据进行处理(即解析URL),提取客户端请求的资源名,根据资源名找到服务器资源,将资源与其他信息处理后(即响应)发送给客户端。
3.HTTP服务器与客户端实质:
HTTP协议是建立在socket之上的,本质上是两个程序通过socket相互发送数据。HTTP协议,规定了发送方发送数据的格式以及接受方如何使用接受的数据。实现HTTP服务器与客户端,HTTP协议的实现体现在双发对发送与接受数据的处理上。最简单的例子,客户端向服务器发送一个"GET 1.html"数据,服务器收到数据后,解读"GET 1.html",明白客户端想得(GET)到1.html文件,服务器将1.html文件的内容发送给客户端,客户端接收到含1.html文件内容的数据后,新建1.html文件并写入服务器端发送来的数据。
4.牛刀小试:
先在VC6.0中运行服务器,再打开一个VC6.0运行客户端。
运行效果:
常用的浏览器也是客户端,显然我们的客户端只是简单的将html文件内容打印,浏览器则会按HTML规则处理html文件然后显示。
服务器与客户端参考了《Winsock网络编程经络》
客户端程序:
<script src="https://code.csdn.net/snippets/337859.js" type="text/javascript"></script>
服务器程序:
<script src="https://code.csdn.net/snippets/337860.js" type="text/javascript"></script>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。