文章目录

之前写vue的时候,有时会用到Python的 SimpleHTTPServer 。SimpleHTTPServer是Python 2自带的一个模块,是Python的Web服务器。在Python 3已经合并到http.server模块中。如果不指定端口号默认的是8000端口。在局域网中使用web去访问 http:/IP:8000 即可。

其中Python 2语法为:python -m SimpleHTTPServer

Python 3语法为:python -m http.server

当然,这个只是顺带提一句。因为今天打算实践的是C/S双向通信。

代码特别好懂,就不赘述了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import socket
import threading
import time

server = socket.socket()

server.bind(('127.0.0.1', 8080))
print('Server started, http://127.0.0.1')
server.listen(20)


def send(client: tuple):
header = 'HTTP/1.1 200 OK'
body = f'''<html>
<head>
<title>Test Page</title>
</head>
<body>
<h1 style='color:red;'>Welcome:{client[1]}</h1>
<img src ='http://wubaiyi.oss-cn-beijing.aliyuncs.com/202205/16/131514261.jpg'>
</body>
</html>'''
data = header + '\r\n\r\n' + body
client[0].send(data.encode())

time.sleep(1)
client[0].close()


while True:
client = server.accept()
print('Welcome, ', client[1])
threading.Thread(target=send, args=(client,)).start()

首先,命令行启动服务端。

然后打开网页,网页和服务端控制台都正常输出。

♦ 本文固定连接:https://www.gsgundam.com/archive/2022-07-10-how-to-simple-socket-server-python/

♦ 转载请注明:GSGundam 2022年07月10日发布于 GSGUNDAM砍柴工

♦ 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

♦ 原创不易,如果页面上有适合你的广告,不妨点击一下看看,支持作者。(广告来源:Google Adsense)

♦ 本文总阅读量