利用Python编写简单的Web静态服务器(TCP协议)

import socket

def service_client(new_socket):
    #接受客户端的需求
    request = new_socket.recv(1024)
    print(request)
    #回传数据给客户端
    response = 'HTTP/1.1 200 OK\r\n'
    response += '\r\n'
    response += '<h1>你好</h1>'
    new_socket.send(response.encode('utf-8'))

def main():
    #创建套接字
    serve_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    #绑定ip和端口
    serve_socket.bind(('',7080))
    #listen客户端需求
    serve_socket.listen(128)
    #等待客户端链接accept
    new_socket,client_addr = serve_socket.accept()
    print(new_socket)
    print(client_addr)
    #服务客户端recv和send
    service_client(new_socket)


if __name__ == '__main__':
    main()

基本思路与tcp服务器的创建方法一样

用socket创建套接字→用bind绑定地址(ip和port)→listen监听客户端的请求→accept等待客户端的链接→服务客户端(主要是recv需求send数据)

其中serve_socket.accept()返回的数据为一个套接字和客户端地址(ip和port),recv需求send数据通过返回的套接字进行处理

 

posted @ 2019-06-29 11:34  可乐芬达  阅读(536)  评论(0编辑  收藏  举报