Forum
>>
Programmazione Python
>>
Web e Reti
>>
Server-multiclient con socket non si collega
Pagina: 1 2 Avanti
Esegui il login per scrivere una risposta.
Scritto da Andrea Messori |
2018-03-09 18:02:30 - Server-multiclient con socket non si collega
|
Buona sera a tutti, normalmente cerco di leggere tutti i forum per evitare di fare domande nei forum, ma questa volta non riesco ad uscirne...
Ho scritto un programma che fa diverse cose ma che ogni qual volta serve, invia dei dati ad un server tramite socket. Tale programma è scritto in python, il programma sul server in VB6. Fin qui tutto funziona perfettamente. Siccome, però, vorrei passare il programma server in python perché VB6 mi da problemi su Windows 7, ho preso i vari programmini che ci sono in rete per poi lavorarci sopra. Ne ho provati almeno una decina, ma nessuno prende in carico la richiesta di connessione. Sul client ho: from socket import * serverHost = '192.168.0.11' serverPort = 2000 s = socket(AF_INET, SOCK_STREAM) s.settimeout(10) s.connect((serverHost, serverPort)) dato="MI SONO CONNESSO" s.send(dato) Qualcuno sa dirmi cosa devo scrivere nell'applicazione server per fare in modo che i due si parlino??? P.s.: il server dovrebbe accettare almeno 21 connessioni simultanee... Grazie a tutti! |
|
Scritto da Daniele aka Palmux |
2018-03-10 09:16:56 - Re: Server-multiclient con socket non si collega
|
Ciao caro e benvenuto.
Scusami tanto ma sono fuori e non ho modo di verificare il tuo script, ti posso però lasciare un video (anzi più di uno fanno al caso tuo), nel frattempo potrebbe aiutarti. Cya |
|
Scritto da Andrea Messori |
2018-03-10 11:11:40 - Re: Server-multiclient con socket non si collega
|
Ciao, grazie per la risposta e per il link. Purtroppo me li sono guardati già tutti (o quasi), ma il problema persiste.
Tanto per la cronaca, i client sono Raspbian su Raspberry mentre il server è un Windows 7. |
|
Scritto da Daniele aka Palmux |
2018-03-10 14:15:01 - Re: Server-multiclient con socket non si collega
|
Che errore ricevi?
|
|
Scritto da Andrea Messori |
2018-03-12 09:00:38 - Re: Server-multiclient con socket non si collega
|
Buongiorno e buon inizio settimana.
Purtroppo non ricevo nessun errore... Non si collega e basta. Resta lì in ascolto per tutta la vita. |
|
Scritto da Aprimus |
2018-03-12 10:59:42 - Re: Server-multiclient con socket non si collega
|
Questo e' un esempio che trovai su un libro tempo fa, spero possa esserti di aiuto....
----------- server.py-------------- import socket def respond(client): response = input("Enter a value: ") client.send(bytes(response, 'utf8')) client.close() server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind(('localhost',2401)) server.listen(1) try: while True: client, addr = server.accept() respond(client) finally: server.close()---------------- client.py------------------------ import socket client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect(('localhost', 2401)) print("Received: {0}".format(client.recv(1024))) client.close()------------------------------------------------------ 1. In un terminale fai partire il server.py. 2. In un altro terminale fai partire il client.py. 3. Nel terminale del server apparira' (Enter a value: ), digita un valore e premi Enter. 4. Nel terminale del client riceverai il valore che hai digitato ed esce.Fai ripartire il client di nuovo.... |
|
Scritto da ㎝ |
2018-03-12 11:11:40 - Re: Server-multiclient con socket non si collega
|
$ nc -lk 2000 & [1] 11123 $ py Python 3.6.3 (default, Oct 3 2017, 21:45:48) [GCC 7.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. Using /usr/bin/python3; type "ipy" to enter IPython >>> from socket import * >>> s = socket(AF_INET, SOCK_STREAM) >>> s.settimeout(10) >>> s.connect(('127.0.0.1', 2000)) >>> s.send('MI SONO CONNESSO') Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: a bytes-like object is required, not 'str' >>> s.send(b'MI SONO CONNESSO') 16 >>> s.close() >>> ^D [1]+ Stopped nc -lk 2000 $ fg nc -lk 2000 MI SONO CONNESSO ^C $ THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝ |
|
Scritto da Andrea Messori |
2018-03-12 11:26:01 - Re: Server-multiclient con socket non si collega
|
Aprimus, grazie per il codice ma è quello che utilizzo già ed è quello che, di fatto, resta in attesa di una chiamata per mooooolto tempo....
Said, ti ringrazio per l'intervento ma temo che dovrai essere un po' più descrittivo perché programmo in python da troppo poco tempo per leggere tra le righe. In ogni caso, ho notato la differenza nella trasmissione del dato e ho visto che hai messo una "b" prima della stringa. Cosa significa? |
|
Scritto da Daniele aka Palmux |
2018-03-15 10:20:42 - Re: Server-multiclient con socket non si collega
|
Ma chi è Said?
Bytes literals are always prefixed with 'b' or 'B'; they produce an instance of the bytes type instead of the str type. They may only contain ASCII characters; bytes with a numeric value of 128 or greater must be expressed with escapes. Cya |
|
Scritto da Andrea Messori |
2018-03-16 09:41:47 - Re: Server-multiclient con socket non si collega
|
Quello che ha risposto per ultimo prima di me. Siccome il suo nome aveva caratteri simil-arabo, l'ho chiamato Said....
Grazie per la risposta. In ogni caso, al di là dell'errore in trasmissione di un dato, il problema sulla connessione rimane... Ho già fatto duemila prove ancora ma non c'è verso. In VB6 la connessione è istantanea. |
Pagina: 1 2 Avanti
Esegui il login per scrivere una risposta.