Nie podałeś, co wypisuje server.py.
U mnie działa coś takiego:
serwer:
import socket
import threading
import code
ic = code.InteractiveConsole()
lista_klient = []
def nowy_klient(csock,ad):
while True:
msg = csock.recv(1024)
print(ad, " >> ", msg)
msg = ic.raw_input("SERWER>> ")
csock.send(msg.encode('ascii'))
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = 'localhost'
port = 1416
print("Serwer uruchomiony!")
print("Czekam na polaczenie z zewnatrz...")
sock.bind((host, port))
sock.listen(1)
while True:
c, ad = sock.accept()
lista_klient.append(c)
print("Polaczono z", ad)
nowy_klient(c, ad)
#print("Zamykam")
#sock.close()
klient:
import socket
def serv_conn():
host = 'localhost'
port = 1416
csock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #socket klienta
csock.connect((host,port))
msg = "Wiadomosc od klienta"
while True:
csock.send(msg.encode('ascii'))
data = csock.recv(1024)
print(str(data.decode('ascii')))
if data == None:
csock.close()
if __name__ == '__main__':
serv_conn()
Przypuszczalnie chodziło o to, że nie kodowałeś na serwerze msg.
W tym przykładzie usunąłem obsługę wątków.