Python: TypeError: str, bytes o bytearray esperado, no int

Estoy tratando de crear un servidor simple para el programa de chat basado en el cliente y el problema es que cuando trato de ejecutarc.sendto(data,client) este error aparece diciendo queClient es un int pero es una tupla que contiene el número de puerto y la dirección. ¿Se supone que debo convertir la tupla a bytes para poder enviar el mensaje a los clientes?

Script del servidor

import socket

clients = []
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("127.0.0.1",7999))
s.listen()
print("Waiting for connection")
c, addr = s.accept()


while True:
    data , addr = c.recvfrom(1024)
    print(data)
    if addr not in clients:
        clients.append(addr)
        print(clients[0])
    if data:
        for client in clients:
            print(client)
            c.sendto(data,client)
s.close()

Script de cliente

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
addr = ("127.0.0.1",7999)
s.connect(addr)    
while True:
    string = input(">>")
    s.send(string.encode("utf-8"))
    data =s.recv(1024)
s.close()

Salida del servidor

Respuestas a la pregunta(1)

Su respuesta a la pregunta