1. import socket

    sk=socket.socket()

    sk.bind(("127.0.0.1",7001))

    sk.listen()

    def login(url):
    with open('login.html','rb') as f:
    return f.read()
    def index(url):
    with open('index1.html','rb') as f:
    return f.read()

    def mng(url):
    with open('bootstrap/dist/js/bootstrap.js', 'rb') as f:
    return f.read()
    def css(url):
    with open('bootstrap/dist/css/bootstrap.css', 'rb') as f:
    return f.read()
    def js(url):
    with open('jquery-3.2.1.min.js', 'rb') as f:
    return f.read()
    li=[
    ('/login/', login),
    ('/index/', index),
    ('/jquery-3.2.1.min.js/', js),
    ('/bootstrap.css/', css),
    ('/bootstrap.js/', mng),

    ]
    while True:
    conn,addr =sk.accept()
    data = conn.recv(1024)
    print(data)
    url = data.decode("utf-8").split()[1]第一个是get请求方法 所以去第二个url他的路由
    conn.send(b'HTTP/1.1 200 OK\r\nContent-Type: text/html; charset=utf-8\r\n\r\n')
    # elif path == '/meinv.png': # 返回图片
    # with open('meinv.png', 'rb') as f:
    # pic_data = f.read()
    # # conn.send(b'HTTP/1.1 200 ok \r\n\r\n')
    # conn.send(pic_data)
    # conn.close()
    # elif path == '/test.css': # 返回css文件
    # with open('test.css', 'rb') as f:
    # css_data = f.read()
    # conn.send(css_data)
    # conn.close()

    # elif path == '/wechat.ico': # 返回页面的ico图标
    # with open('wechat.ico', 'rb') as f:
    # ico_data = f.read()
    # conn.send(ico_data)
    # conn.close()
    #
    # elif path == '/test.js': # 返回js文件
    # with open('test.js', 'rb') as f:
    # js_data = f.read()
    # conn.send(js_data)
    # conn.close()
    for i in li:
    if i[0]==url:
    res=i[1](url)
    break
    else:
    res = b'404'
    conn.send(res)
    # conn.close()

用socket写一个简单的服务器的更多相关文章

  1. Linux:写一个简单的服务器

    开始了新篇章:Linux网络编程. 基础知识: 套接字概念 Socket本身有"插座"的意思,在Linux环境下,用于表示进程间网络通信的特殊文件类型.本质为内核借助缓冲区形成的伪 ...

  2. 用C++写一个简单的服务器和客户端

    我们将创建一个服务器节点add_two_ints_server,它将会收到两个整数,并且返回它们的和.切换目录到之前建立的beginner_tutorials包下: cd ~/catkin_ws/sr ...

  3. Python使用Socket写一个简单聊天程序

    b2b模式的聊天工具 服务端: # 链接 while True: print('等待连接...') sock,adr = server_socket.accept() while True: try: ...

  4. 用socket写一个简单的客户端和服务端程序

    用来练手写写socket代码 客户端代码 #include <stdio.h> #include <sys/types.h> #include <sys/socket.h ...

  5. 如何写一个简单的http服务器

    最近几天用C++写了一个简单的HTTP服务器,作为学习网络编程和Linux环境编程的练手项目,这篇文章记录我在写一个HTTP服务器过程中遇到的问题和学习到的知识. 服务器的源代码放在Github. H ...

  6. 如何写一个简单的HTTP服务器(重做版)

    最近几天用C++重新写了之前的HTTP服务器,对以前的代码进行改进.新的HTTP服务器采用Reactor模式,有多个线程并且每个线程有一个EventLoop,主程序将任务分发到每个线程,其中采用的是轮 ...

  7. 如何用PHP/MySQL为 iOS App 写一个简单的web服务器(译) PART1

    原文:http://www.raywenderlich.com/2941/how-to-write-a-simple-phpmysql-web-service-for-an-ios-app 作为一个i ...

  8. 用Python写一个简单的Web框架

    一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...

  9. (2)自己写一个简单的servle容器

    自己写一个简单的servlet,能够跑一个简单的servlet,说明一下逻辑. 首先是写一个简单的servlet,这就关联到javax.servlet和javax.servlet.http这两个包的类 ...

随机推荐

  1. 【LeetCode】275. H-Index II 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/h-index- ...

  2. Collision(hdu5114)

    Collision Time Limit: 15000/15000 MS (Java/Others)    Memory Limit: 512000/512000 K (Java/Others)Tot ...

  3. Codeforces Round #327 (Div. 1), problem: (A) Median Smoothing

    http://codeforces.com/problemset/problem/590/A: 在CF时没做出来,当时直接模拟,然后就超时喽. 题意是给你一个0 1串然后首位和末位固定不变,从第二项开 ...

  4. Beautiful Walls

    [1553] Beautiful Walls 时间限制: 1000 ms 内存限制: 65535 K 问题描述 To simplify the building process, XadillaX b ...

  5. 快速登陆linux服务器

    前言 本文适用于喜欢原生终端的用户,钟爱第三方ssh客户端的可以无视....客户端可以保存用户信息和密码,比较无脑.mac可以使用终端,win可以使用git的bash. 上次分享了配置非对称秘钥免密登 ...

  6. 简单的 for 循环也会踩的坑

    前言 最近实现某个业务时,需要读取数据然后再异步处理:在 Go 中实现起来自然就比较简单,伪代码如下: list := []*Demo{{"a"}, {"b"} ...

  7. [炼丹术]使用Pytorch搭建模型的步骤及教程

    使用Pytorch搭建模型的步骤及教程 我们知道,模型有一个特定的生命周期,了解这个为数据集建模和理解 PyTorch API 提供了指导方向.我们可以根据生命周期的每一个步骤进行设计和优化,同时更加 ...

  8. 解决Web开发HTML页面中footer保持在页面底部问题

    如图所示如何实现footer在内容不足或者浏览器窗口变大变小的时候一直保持在底部呢?请看如下两种解决方案. 第一种方案: footer高度固定+绝对定位 (兼容性比较好完美兼容IE8+)思路:foot ...

  9. [ SQLAlchemy ] 关于dynamic的“一知半解”

    问题提出: 1.粉丝机制 2.评论的点赞功能 这两个功能分别由User类和Comment类来实现,同样定义了多对多的关系,查询的时候用的方法却大不一样,先看看代码吧. ### # User类的中间表 ...

  10. 新增访客数量MR统计之NewInstallUserMapper中维度信息准备

    关注公众号:分享电脑学习回复"百度云盘" 可以免费获取所有学习文档的代码(不定期更新)云盘目录说明:tools目录是安装包res 目录是每一个课件对应的代码和资源等doc 目录是一 ...