【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网络编程经络》

客户端程序:

服务器程序:

【windows socket+HTTP服务器客户端】,布布扣,bubuko.com

时间: 2024-11-07 08:32:49

【windows socket+HTTP服务器客户端】的相关文章

【windows socket+UDP服务器客户端】

Windows Socket+UDP服务器客户端 Winsock是 Windows下套接字标准.                    1.UDP socket编程:          UDP(用户数据报协议)是一个无连接,不可靠的数据传输,其特点是简单,快捷.相比与TCP,UDP不需要建立连接(不需connect.accept函数),数据发送接收之后,不需要终止连接.基于UDP的程序,避免了TCP运行的开销,在效率与速度上具有更好的表现.          UDP是无连接的,可能会有数据的丢失

【windows socket编程+服务器客户端】

Windows Socket编程与服务器客户端示例 Winsock是 Windows下套接字标准. Socket套接字基于计算机网络,提供同一系统上不同进程或由局域网连接在一起的不同机器上的进程间通讯功能.如下图: 套接字通过IP地址,Port端口号标识,通过这个标识可以在整个局域网定位一个套接字,通过套接字进程便可以相互传输数据.如:进程A与进程B之间欲通过套接字通信,首先进程A创建一个有IP地址,端口号唯一标识的套接字,进程B同样创建一个有IP地址,端口号唯一标识的套接字,进程A,B便可以通

Java 利用 Socket 实现服务器客户端聊天

Socket是网络编程中最基本的通信接口,常用的网络辅助类,比如URL等之类,其底层还是基于Socket来实现的. 而Socket,形象来说,就是连接通信的两端,比如这样 S<==>S,中间的通道就是网络了,而简单地利用Socket,我们就可以来实现一个简单的聊天功能 具体效果看下图: 这只是在本地中试用的效果,如果加上UI界面,其实就可以做成一个聊天的小应用了. 1. Server 端主要是利用ServerSocket的accept方法来等待客户端的连接,如果客户一直没有连接,则会在这里等待

Python Socket Programming 服务器/客户端

基于UDP/TCP的套接字编程demo UDP 客户端/服务器 一个简单的基于UDP协议的客户端和服务器应用的进程通信. 逻辑: 客户端会给服务器发送小写的英文字母,服务器接受后,把它转化成大写再返回给客户端,客户端输出这组数字.由于Python3已经明确区分了str类和bytes类,因此发送的是字节. UDP服务器: from socket import * udp_server_socket = socket(AF_INET, SOCK_DGRAM) udp_server_port = 96

c++下基于windows socket的单线程服务器客户端程序

今天自己用编写了一个简单的c++服务器客户端程序,注释较详细,在此做个笔记. windows下socket编程的主要流程可概括如下:初始化ws2_32.dll动态库-->创建套接字-->绑定地址信息-->服务器进行监听/客户端连接服务器-->数据交换-->关闭套接字对象. 服务器端: 1 #include <Winsock2.h> 2 #include <Ws2tcpip.h> 3 #include <iostream> 4 5 #prag

Windows Socket 编程_单个服务器对多个客户端简单通讯

单个服务器对多个客户端程序: 一.简要说明 二.查看效果 三.编写思路 四.程序源代码 五.存在问题 一.简要说明: 程序名为:TcpSocketOneServerToMulClient 程序功能:实现单个服务器对多个客户端通讯功能的小程序. PS: 这是继上次简单的 Tcp Windows Socket 编程后的再一程序,程序实现依然不是很严谨,还待完善~ 二.查看效果: 三.编写思路: 由上一次的程序思路来看,如果想实现单个服务器对多个客户端程序的通讯的话,这次程序编写尝试从多线程的角度来考

Windows socket c++ TCP UDP 简单客户端 vs2013

socket 主要是网络中进程之间的通信,起源于Unix,而"一切皆可文件"的思想一样可以用在socket上,即 打开 -> 读写 -> 关闭. int socket(int domain, int type, int protocol):(服务端 & 客户端) socket函数对应于普通文件的打开操作.普通文件的打开操作返回一个文件描述字,而socket()用于创建一个socket描述符(socket descriptor),它唯一标识一个socket. 这个so

windows socket 简单的服务端和客户端代码

客户端代码 //socket简单的客户端代码 #define WIN32_LEAN_AND_MEAN #define _CRT_SECURE_NO_WARNINGS #define _WINSOCK_DEPRECATED_NO_WARNINGS #include <stdio.h> #include <string.h> #include <Windows.h> #include <WinSock2.h> #pragma comment(lib, "

Windows 下的最简单的TCP服务器客户端

他们是短连接的,服务器接受客户端之后,马上发送一个消息,发送完以后立即将客户端断开掉,然后继续等待下一个连接. 使用Winsocket2必须要引用到的头文件和需要包含到的链接库文件: #include <WinSock2.h> #pragma comment( lib, "ws2_32.lib" ) 以下代码是Winsocket2的系统初始化和关闭的封装代码. class WinSocketSystem { public: WinSocketSystem() { int i