zoukankan      html  css  js  c++  java
  • 【windows socket+HTTPserverclient】

    Windows Socket+HTTPserverclient


         Winsock是 Windows下套接字标准
            
           1.HTTP协议

             HTTP是基于client/server的请求,响应协议。

           请求:由client向server发起,指定了要从server获取的资源。请求包括了协议首部,指明了client处理能力信息,如能够处理的文件类型,支持的语言,编码方式等。
           响应:server收到client的请求后,解析这个请求,构造响应,并发送给client。响应相同包括了协议首部,指明了server的相关信息。
             
           2.简易HTTPserver与client

            实际中的HTTP协议,考虑到多种需求,协议具有一定的复杂性,这里我们仅仅实现一个简单的HTTPserver与client,重在理解HTTP协议的工作原理。
             Winsock编程下,client通过socket向client发送一段数据(即请求),这段数据包括了client请求的资源(即文件)。
            client收到这段数据后,对这段数据进行处理(即解析URL),提取client请求的资源名,依据资源名找到server资源,将资源与其它信息处理后(即响应)发送给client。
             
           3.HTTPserver与client实质

            HTTP协议是建立在socket之上的,本质上是两个程序通过socket相互发送数据。HTTP协议,规定了发送方发送数据的格式以及接受方怎样使用接受的数据。实现HTTPserver与client,HTTP协议的实现体如今双发对发送与接受数据的处理上。最简单的样例,client向server发送一个"GET 1.html"数据,server收到数据后,解读"GET 1.html",明确client想得(GET)到1.html文件,server将1.html文件的内容发送给client,client接收到含1.html文件内容的数据后,新建1.html文件并写入server端发送来的数据。

             4.牛刀小试
             先在VC6.0中执行server,再打开一个VC6.0执行client。


             执行效果:
              经常使用的浏览器也是client,显然我们的client仅仅是简单的将html文件内容打印,浏览器则会按HTML规则处理html文件然后显示。

    server与client參考了《Winsock网络编程经络》
    client程序:
    server程序:


  • 相关阅读:
    HDOJ 3547 DIY Cube 解题报告
    一些经典的期望问题

    人生
    BZOJ 4341 [CF253 Printer] 解题报告
    BZOJ 4302 Buildings 解题报告
    OI 回忆录
    PyQt实现测试工具
    PyQt:eg4
    pyQt: eg3
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/3788183.html
Copyright © 2011-2022 走看看