19/09/16 8:03
Berserk
Un saluto a tutto il forum, sono nuovo.
Devo fare questo programmino semplice e se lo provo sul pc fila tutto liscio. Il problema è che lo devo provare su un server esterno, che richiede anche user e password per entrare.
Ho pensato di impostare ftp su lato server ma non c'è niente da fare. Se lascio tutto così come ve lo incollo, alla fine sul lato client mi dice "ssh-2.0-openssh_5.3 python".
Sicuramente devo mettere qualcosa sul lato server, ma come devo impostarlo?
Client]
Server
Devo fare questo programmino semplice e se lo provo sul pc fila tutto liscio. Il problema è che lo devo provare su un server esterno, che richiede anche user e password per entrare.
Ho pensato di impostare ftp su lato server ma non c'è niente da fare. Se lascio tutto così come ve lo incollo, alla fine sul lato client mi dice "ssh-2.0-openssh_5.3 python".
Sicuramente devo mettere qualcosa sul lato server, ma come devo impostarlo?
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) 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()
Ultima modifica effettuata da Berserk 19/09/16 8:03
aaa