Incollo il codice.
Client:
# -*- coding: utf-8 -*
import pickle
host = '95.110.230.165'
port = 22
from socket import * # importa tutti i nomi delle funzioni di socket
client = socket(AF_INET, SOCK_STREAM) # utilizzo il protocollo tcp/ip
client.connect((host, port))
tipo_giocata = raw_input("Scegli cosa giocare tra ambo, terno, quaterna, cinquina: ")
ruota = raw_input("Su quale ruota vuoi effettuare la giocata? ")
if tipo_giocata=='ambo':
num_input=2
if tipo_giocata=='terno':
num_input=3
if tipo_giocata=='quaterna':
num_input=4
if tipo_giocata=='cinquina':
num_input=5
numeri_da_giocare = [ruota]
for count in range(0,num_input):
numero_inserito = raw_input("Inserisci il numero da giocare: ")
numeri_da_giocare.append(numero_inserito)
numeri_da_inviare = pickle.dumps(numeri_da_giocare) # Converte numeri_da_giocare in flusso di byte per inviare
# i dati al server
client.send(numeri_da_inviare)
esito_estrazione = client.recv(2048)
print 'Esito estrazione: ', esito_estrazione
raw_input("Premi invio per terminare")
client.close()
Server:
# -*- coding: utf-8 -*-
import pickle, random
from socket import *
port = 22
server = socket(AF_INET, SOCK_STREAM) # utilizzo il protocollo tcp/ip
server.bind(('',port))
server.listen(1) # accetta al massimo una connessione e rifuta quelle successive
print ("Connessione con il server stabilita con successo")
while 1: # il server resta in ascolto fino alla connessione di un client
connection, address = server.accept()
numeri_client_serializzati = connection.recv(2048)
numeri_ricevuti = pickle.loads(numeri_client_serializzati)
ruota_da_giocare = numeri_ricevuti[0]
numeri_da_giocare = []
for count in range(1,len(numeri_ricevuti)):
numeri_da_giocare.append(int(numeri_ricevuti[count]))
ruota = ['Bari','Cagliari','Firenze','Genova','Milano','Napoli','Palermo','Roma','Torino','Venezia','Nazionale']
for count in range(0,len(ruota)): # ripete l'estrazione dei numeri per ogni ruota
numeri_ruota = random.sample(range(1,91),5) # estrae 5 numeri a caso in un insieme compreso tra 1 e 90
print (ruota[count] , numeri_ruota) # controllo la ruota con quella ricevuta dal client
if ruota[count] == ruota_da_giocare:
contatore = 0
for i in range(0,len(numeri_da_giocare)):
for j in range(0,len(numeri_ruota)):
if (numeri_da_giocare[i] == numeri_ruota[j]):
contatore = contatore + 1
if(contatore == 0):
esito_estrazione = "Mi dispiace, non hai vinto."
if(contatore == 1):
esito_estrazione = "Mi dispiace, non hai vinto."
if(contatore == 2):
esito_estrazione = "Complimenti, hai fatto ambo!!!"
if(contatore == 3):
esito_estrazione = "Complimenti, hai fatto terno!!!"
if(contatore == 4):
esito_estrazione = "Complimenti, hai fatto quaterna!!!"
if(contatore == 5):
esito_estrazione = "Complimenti, hai fatto cinquina!!!"
connection.sendall(esito_estrazione)
connection.close()
Host e porta sono quelli che vedi nel client. Se li provo così, mi dice ssh-2.0-openssh_5.3