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
codice:
# -*- 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
codice:
# -*- 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()