You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
883 B

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

Powered by INFORMATICA.FP.EDU.ES.