返回固定数据的web服务器

import socket


def handle_client(socket_con):
    """
       接收来自客户端的请求,并接收请求报文,解析,返回
    """
    # 服务器接收客户端的请求报文
    request = socket_con.recv(4096).decode()
    print(request)
    # 服务器拼接响应报文并回复
    response_line = 'HTTP/1.1 200 OK\r\n'
    response_head = 'Server:skylark 2.0\r\n'
    response_head += 'Content-Type:text/html;charset=utf-8\r\n'
    response_body = '这是显示的内容!\r\n'
    response = response_line + response_head + '\r\n' + response_body
    socket_con.send(response.encode())
    socket_con.close()


def main():
    # 服务器创建负责监听的socket
    socket_listen = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 设置端口重用
    socket_listen.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
    # 绑定监听端口
    socket_listen.bind(('', 8888))
    # 设置监听队列
    socket_listen.listen(128)
    # 通过循环不同的接受请求
    while True:
        # accept() 返回元组 (socket object, address info)
        socket_con, socket_con_adds = socket_listen.accept()
        # 打印提示信息
        print('客户端:',socket_con_adds,'连接成功!')\
        # 使用函数处理客户端发送的信息
        handle_client(socket_con)


if __name__ == '__main__':
     main()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏码生

react native 增量升级 热更新 思路

28030
来自专栏aoho求索

基于redis的分布式锁实现

关于分布式锁 很久之前有讲过并发编程中的锁并发编程的锁机制:synchronized和lock。在单进程的系统中,当存在多个线程可以同时改变某个变量时,就需要...

49180
来自专栏晋中望的专栏

RN 框架工程相关指南

本文主要介绍了 RN 框架工程相关指南。框架内容主要为四个部分:app、ReactAndroid 、ReactCommon和jsbundle。

90200
来自专栏python百例

95-socket基础:TCP服务器流程

13210
来自专栏HansBug's Lab

【前端】Ubuntu16下nodejs+npm+vue环境配置

笔者最近在学习vue.js,不过一直都是在runoob上面各种尝试。今天笔者在本机(Ubuntu16.04)尝试部署了nodejs+npm+vue开发环境,接下...

39250
来自专栏公众号_薛勤的博客

深入理解跨域SSO原理与技术

​ SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登...

27510
来自专栏塔奇克马敲代码

Windows环境下的RTKPlot_Qt版本编译时遇到的问题和解决方法

22950
来自专栏微信终端开发团队的专栏

Android 内存申请分析

做内存方面优化的工作过程,除了关注内存的申请量以及 GC 的情况之外,我们经常需要想方法找出是那些对象占用了大量内存,以及他们是如何导致 GC 的,这意味着我们...

40900
来自专栏编程

小白爬虫之爬虫快跑

使用多线程时好像在目录切换的问题上存在问题,可以给线程加个锁试试 Hello 大家好!我又来了。 你是不是发现下载图片速度特别慢、难以忍受啊!对于这种问题一般解...

20880
来自专栏流柯技术学院

linux下MySQL表名忽略大小写设置

最近公司项目的MySQL数据库要迁移到linux下,部署时日志总是显示报找不到一个表,用MYSQL查看明明有这个表。后来经百度,原来LINUX下的MYSQL默认...

35020

扫码关注云+社区

领取腾讯云代金券