使用Python3中socket模块搭建简易网站服务器(二)

使用Python3中socket模块搭建简易网站服务器(二)

本章主要讲解如何让服务器给浏览器返回固定内容

  1. 创建server.py,创建main函数,写入socket的基础结构
  2. 创建service函数,用于为浏览器返回固定内容

完成后代码

from socket import *

def main():
    '''程序主函数'''
    tcp_socket = socket(AF_INET,SOCK_STREAM)#创建tcp套接字
    tcp_socket.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)#让端口释放后可以立即使用
    tcp_socket.bind(("127.0.0.1",1234))#地址绑定 127.0.0.1处填你需要绑定IP地址 1234处填你需要设置的端口号
    tcp_socket.listen(128)#开始监听
    client_socket,client_addr = tcp_socket.accept()#准备接受连接
    service(client_socket)#连接后为其服务
    tcp_socket.close()#关闭套接字

def service(client_socket):
    '''为客户提供服务'''
    request = client_socket.recv(1024)#接收请求
    response = "HTTP/1.1 200 OK\r\n\r\nok"
    client_socket.send(response.encode("utf-8"))#发送信息
    client_socket.close()#断开连接

if __name__ == "__main__":#程序入口
    main()#调用主函数

注意事项与解析
1.AF_INET 意思为使用IPv4
2. SOCK_STREAM 意思为使用tcp协议
3. 务必加上第六排代码 不然容易报错
4. HTTP/1.1 200 OK 即访问成功 服务器返回此字符串让浏览器知晓已经访问成功
5. \r\n虽然等于\n 但这里不能用\n 浏览器无法解析\n
6. 服务器返回给浏览器的数据为header+body 访问成功后这里也就是HTTP/1.1 200 OK+两个换行符+回应内容
7. send方法使用时需要规定字符集 通常使用UTF-8

访问方法
在浏览器输入xxx.xxx.xxx.xxx:port 即绑定的IP地址:绑定的端口号
访问成功就可以在屏幕上看到一行字:ok

到这里第一步就大功告成了 socket里的函数若有不懂我会在后面更新socket基础
谢谢大家 留下点赞与关注吧

你可能感兴趣的:(笔记)