(1)用Python实现一个简单的套接字socket服务器例子,该服务器在接受客户端连接后,每隔一秒从a到z的字符中随机选一个发送给客户端。
import socketserver
import time
from random import choice
class TCPHandler(socketserver.BaseRequestHandler):
def handle(self):
print('接受客户端连接...')
chars = list('abcdefghikjklmnopqrstuvwxyz')
while True:
s = f'{choice(chars)}' # 随机选择字符发送
b = bytes(s, 'utf-8')
self.request.sendall(b)
print('发送->', s)
time.sleep(1)
if __name__ == '__main__':
host = '127.0.0.1'
port = 9999
server = socketserver.TCPServer((host, port), TCPHandler)
print(f'服务器启动 {host}:{port}')
server.serve_forever()
(2)客户端。在Windows环境下,此时用telnet命令建立一个额socket套接字连接到127.0.0.1:9999,telnet相当于建立了一个socket的客户端连接到服务器端:
telnet 127.0.0.1 9999
收到服务器端发来的数据: