最简单的Web服务器

//读取浏览器发过来的内容
Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
serverSocket.Bind(new IPEndPoint(IPAddress.Any, 8080));//程序要监听8080端口,如果别的程序已经占了这个端口,那程序就会抛异常
serverSocket.Listen(10);//启动监听10个用户
//进行死循环是为了可以多个请求

while (true)
{
  Console.WriteLine("等着请求");
  Socket socket = serverSocket.Accept();//等待有人请求,返回上一次Socket的通讯通道
  Console.WriteLine("来了请求了");
  using (NetworkStream stream = new NetworkStream(socket))
  using (StreamReader reader = new StreamReader(stream))
  {
    string line;
    while ((line = reader.ReadLine()) != null)
    {
      Console.WriteLine(line);
      if (line.Length <= 0)
      {
        break;//遇到空行,请求结束,不用再等了
        //如果不break,就一直卡在ReadLine()等着浏览器发出的数据
      }
    }
  }

  //返回给浏览器的内容
  using (NetworkStream stream = new NetworkStream(socket))
  using (StreamWriter write = new StreamWriter(stream))
  {
    write.WriteLine("HTTP/1.1 200 OK");
    write.WriteLine();
    write.WriteLine("welcome to china");
  }
  socket.Disconnect(false);//断开通讯
}

启动C#程序,打开浏览器,输入127.0.0.1:8080

执行结果:

请求报文头内容,在浏览器上面按F12,刷新页面,点Network可以看到如下内容:

返回内容:

时间: 2024-07-30 20:31:17

最简单的Web服务器的相关文章

《Python入门》第一个Python Web程序——简单的Web服务器

上一篇讲了<Python入门>Windows 7下Python Web开发环境搭建笔记,接下来讲一下Python语言Web服务的具体实现:第一个Python Web程序--简单的Web服务器. 与其它Web后端语言不同,Python语言需要自己编写Web服务器. 如果你使用一些现有的框架的话,可以省略这一步: 如果你使用Python CGI编程的话,也可以省略这一步: 用Python建立最简单的web服务器 利用Python自带的包可以建立简单的web服务器.在DOS里cd到准备做服务器根目录

自己动手模拟开发一个简单的Web服务器

开篇:每当我们将开发好的ASP.NET网站部署到IIS服务器中,在浏览器正常浏览页面时,可曾想过Web服务器是怎么工作的,其原理是什么?“纸上得来终觉浅,绝知此事要躬行”,于是我们自己模拟一个简单的Web服务器来体会一下. 一.请求-处理-响应模型 1.1 基本过程介绍 每一个HTTP请求都会经历三个步凑:请求-处理-响应:每当我们在浏览器中输入一个URL时都会被封装为一个HTTP请求报文发送到Web服务器,而Web服务器则接收并解析HTTP请求报文,然后针对请求进行处理(返回指定的HTML页面

代码片段 - Golang 实现简单的 Web 服务器

------------------------------ 下面一段代码,实现了最简单的 Web 服务器: 编译环境: Linux Mint 18 Cinnamon 64-bit Golang 1.7 ------------------------------ // main.go package main import ( "fmt" "log" "net/http" ) // 处理主页请求 func index(w http.Respon

《Go语言入门》第一个Go语言Web程序——简单的Web服务器

概述 上一篇讲了 <Go语言入门>第一个Go语言程序--HelloWorld,接下来讲一下Go语言Web开发入门必修课:第一个Go语言Web程序--简单的Web服务器. 与其它Web后端语言不同,Go语言需要自己编写Web服务器. 有关本地环境的搭建与基础学习,请参考: <Go语言入门>如何在Windows下安装Go语言编程环境 Go语言Web应用:IBM的云平台Bluemix使用初体验--创建Go语言 Web 应用程序,添加并使用语言翻译服务 Web服务器代码 Google在ht

python第三方库系列之十六--建立最简单的web服务器

利用Python自带的包可以建立简单的web服务器.在DOS里cd到准备做服务器根目录的路径下,输入命令: python -m Web服务器模块 [端口号,默认8000] 例如: python -m SimpleHTTPServer 8080 然后就可以在浏览器中输入 http://localhost:端口号/路径 来访问服务器资源. 例如: http://localhost:8080/index.htm(当然index.htm文件得自己创建) 其他机器也可以通过服务器的IP地址来访问. 这里的

python搭建简单的web服务器

由于要做自动化和性能测试,工作中需要有一个能够控制返回消息数据的web服务器,所以用python初步实现了一个简单的web服务器,能够处理HTTP的请求(GET,POST,PUT),并完成响应.先简单说明下原理,python中实现web服务器大概分两个步骤: 1.      创建一个套接字,绑定到指定的IP和端口,保持监听 2.      创建一个handle类,当收到请求消息时,作出响应 主要使用的类有两个: HTTPServer:HTTP服务器的基类,提供了HTTP服务器的常用方法,创建服务

使用 Nodejs 搭建一个简单的Web服务器

使用Nodejs搭建Web服务器是学习Node.js比较全面的入门教程,因为要完成一个简单的Web服务器,你需要学习Nodejs中几个比较重要的模块,比如:http协议模块.文件系统.url解析模块.路径解析模块.以及301重定向问题,下面我们就简单讲一下如何来搭建一个简单的Web服务器. 作为一个Web服务器应具备以下几个功能: 1.能显示以.html/.htm结尾的Web页面 2.能直接打开以.js/.css/.json/.text结尾的文件内容 3.显示图片资源 4.自动下载以.apk/.

Nodejs 入门秘籍,搭一个最简单的web服务器。(菜鸟的你也能秒懂)

心血来潮,总结了一个Nodejs入门秘籍.看了你就想学NodeJs了. 一.简单介绍nodejs 初学nodejs  ,直接上简单实例.先简单说明一下:nodejs ,nodejs相当于服务器端的 可以轻易搭建一个服务器端. nodejs是用C++开发的一种运行于服务器端的语言,可以写网站后台程序,可以做服务端应用开发,语法和JAVASCRIPT一样,会JS,就是会NodeJS,区别于,普通JS是脚本运行客户端,而NODEJS中的JS是运行于服务器端,NODEJS的作用相当PHP,ASP等语言.

实验五(简单嵌入式WEB服务器实验)问题总结

实验五问题总结 问题链接:<信息安全系统设计基础>实验五实验报告 虽然将07_httpd文件中全部拷贝进了bc中,文件夹中拥有Makefile文件,但是还是无法通过make得到该文件夹中copy和httpd的可执行文件.解决:第一次是觉得Makefile文件中的PATH路径不对,将其改成了/home/bc/07_httpd存盘退出后发现还是无法执行,第二次我们直接使用gcc对其单步进行编译:armv4l-unknow-linux-gcc –E copy.c –o copy.iarmv4l-un

【重要】怎么自行搭建简单的web服务器

# -*- coding: utf-8 -*- #python 27 #xiaodeng #CGI模块 #怎么自行搭建简单的web服务器 #用途: #内网中,提供文件的共享服务非常有用,在cmd下启动运行服务器命令之后,其他电脑也是可以通过url访问的 #可以实现pdf.zip等压缩文件.exe.apk等软件的下载服务. ###搭建基本流程## #1.假定共享文件的目录为:/home/test,ip为#192.168.1.101 ''' 怎么查看本机IP? import socket mynam