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程序:

【windows socket+HTTPserverclient】的更多相关文章

  1. 【windows socket+TCPserverclient】

    Windows Socket+TCPserverclient      Winsock是 Windows下套接字标准.          Socket套接字基于计算机网络,提供同一系统上不同进程或由局 ...

  2. 【windows socket+UDPserverclient】

    Windows Socket+UDPserverclient      Winsock是 Windows下套接字标准.                    1.UDP socket编程:       ...

  3. 【Windows socket+IP+UDP+TCP】网络基础

    Windows Socket+网络      Winsock是 Windows下套接字标准.          Winsock 编程分为UDP[Windows socket + UDP],TCP[Wi ...

  4. Microsoft SQL Server 【Windows 身份验证】和 【sa】都无法登录的解决方案

    1.修改启动参数:打开[SQL Server 配置管理器(SQL Server Configuration Manager)]→右键[SQL Server(MSSQLSERVER)]属性→高级(Adv ...

  5. 【windows核心编程】IO完成端口(IOCP)复制文件小例

    1.演示内容 文件复制 2.提要 复制大文件时,使用FILE_FLAG_NO_BUFFERING标志 同时需要注意: 读写文件的偏移地址为 磁盘扇区 的整数倍 读写文件的字节数为 磁盘扇区 的整数倍 ...

  6. 【windows核心编程】一个API拦截的例子

    API拦截 修改PE文件导入段中的导入函数地址 为 新的函数地址 这涉及PE文件格式中的导入表和IAT,PE文件中每个隐式链接的DLL对应一个IMAGE_IMPORT_DESCRIPTOR描述符结构, ...

  7. 【windows核心编程】DLL相关(3)

    DLL重定向 因为DLL的搜索路径有先后次序,假设有这样的场景:App1.exe使用MyDll1.0.dll, App2.exe使用MyDll2.0.dll, MyDll1.0 和 MyDll2.0是 ...

  8. 【windows核心编程】 第八章 用户模式下的线程同步

    Windows核心编程 第八章 用户模式下的线程同步 1. 线程之间通信发生在以下两种情况: ①    需要让多个线程同时访问一个共享资源,同时不能破坏资源的完整性 ②    一个线程需要通知其他线程 ...

  9. 【windows核心编程】 第六章 线程基础

    Windows核心编程 第六章 线程基础 欢迎转载 转载请注明出处:http://www.cnblogs.com/cuish/p/3145214.html 1. 线程的组成 ①    一个是线程的内核 ...

随机推荐

  1. java基础68 JavaScript城市联动框(网页知识)

    1.城市联动框 <!doctype html> <html> <head> <meta charset="utf-8"> <t ...

  2. 关于UrlEncode 一团乱麻的问题,后续彻底理解。Java中的 URLEncoder 与 URLDecoder无bug

    很多开放平台都是小白开发的,对这个urlencode理解的不到位,他们总是认为java官方的urlencode有bug,需要 URLEncoder.encode("Hello World&q ...

  3. centos7.2安装mysql5.7

    1.安装前工作 在安装前需要确定现在这个系统有没有 mysql,如果有那么必须卸载(在 centos7 自带的是 mariaDb 数据库,所以第一步是卸载数据库). 卸载系统自带的Mariadb: 查 ...

  4. Unix IPC之读写锁

    linux中读写锁的rwlock介绍 读写锁比mutex有更高的适用性,可以多个线程同时占用读模式的读写锁,但是只能一个线程占用写模式的读写锁: 1,当读写锁是写加锁状态时, 在这个锁被解锁之前, 所 ...

  5. gif处理

    UleadGIFAnimator-v5.05破解版 网盘地址:https://pan.baidu.com/s/1bpf6iVP 2017-02-19  10:39:58

  6. CCF CSP 201609-3 炉石传说

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201609-3 炉石传说 问题描述 <炉石传说:魔兽英雄传>(Hearthston ...

  7. (转)最短路算法 -- Floyd算法

    转自:http://blog.51cto.com/ahalei/1383613        暑假,小哼准备去一些城市旅游.有些城市之间有公路,有些城市之间则没有,如下图.为了节省经费以及方便计划旅程 ...

  8. 基于特征码文件恢复工具magicrescue

    基于特征码文件恢复工具magicrescue   常见类型的文件都包含一些特殊的字节,用来标识文件的类型.这些字节被称为特征码.在磁盘中,当记录文件存储位置的簇损坏后,就可以基于这些特征码来恢复文件. ...

  9. python opencv3 人脸识别的例子

    一个人脸识别的例子 程序中用到了公共数据集, 欢迎去我的git上下载源码,源码里带有数据集 git:https://github.com/linyi0604/Computer-Vision 脚本中一个 ...

  10. python语法(一)

    Python是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定.在近几年,大数据,人工智能火起来之后也是水涨船高,被越来越多的人知道,并且越来越多 ...