import socket class Requestor(object): def __init__(self, host: str, port: int): self.host = host self.port = port def getSongList(self) -> list: client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect((self.host, self.port)) client.send('getSongList'.encode('utf-8')) song_list = client.recv(1024).decode('utf-8') client.close() return song_list.split('\n') def getSong(self, song_id: int) -> bytes: client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect((self.host, self.port)) client.send(f'getSong:{song_id}'.encode('utf-8')) song_data = b"" while True: chunk = client.recv(1024) if not chunk: break song_data += chunk client.close() return song_data