Forum
>>
Principianti
>>
Utilizzo Socket
Pagina: Indietro 1 2 3 4 5
Esegui il login per scrivere una risposta.
Scritto da Pietro Bruno Lancerotto |
2024-02-28 16:22:52 - Re: Utilizzo Socket
|
Il nostre era riferito alla mia combriccola che utilizzerà il Terminale
msg = ['RECEIVED', data[86:-3].decode(encoding="UTF-8", errors="ignore")] Questo è quello che c'è scritto
Dammi il tempo di leggere e tentare di capire Comunque lo ho fatto "girare" per più di 10 ore continuative in ricezione sull'APRS E lì viene giù di tutto in quanto a stramberie di caratteri; è lì che mi sono accorto di qualche problema ed ho aggiunto l'ignore di cui sopra Ciao e grazie PS : IO ho problema dei ritorni a capo; l'editor di questo Forum ne aggiunge a manetta --- Ultima modifica di Pietro Bruno Lancerotto in data 2024-02-28 16:25:15 --- --
Bruno L. |
|
Scritto da Pietro Bruno Lancerotto |
2024-03-04 16:26:19 - Re: Utilizzo Socket
|
Torno a farmi vivo; sono stato un po' occupato ( visite, esami, i 75 si fanno sentire )
La parte 2 ho sistemato tutto come suggerito Per quanto riguarda la parte 1 che riporto nel quoting, sono andato a leggere un po'. In primis ho cercato una traduzione del vocabolo; trovato una mezza enciclopedia sui suoi possibili significati in lingua italiana. Decidero se tenere aperta la console; sicuramente lo farò in fase iniziale giusto per vedere se ogni tanto appare qualcosa. Ho fatto alcune aggiunte. f = open("Terminale.ini", "r") serverName = (f.readline()).strip("\n") serverPort = int(f.readline()) f.close() Ho aggiunto un file minimalista per poter cambiare IP; mi serve provare da remoto perchè non sempre ho qualcuno che mi faccia da sponda e quindi metto in funzione il tutto sull'IP settato nel router come da mie messaggi precedenti. Ho poi intercettato i caratteri "strani" che inceppavano il sistema. # Sostituzione caratteri accentati TDT = TDT.replace("ò", "o'") TDT = TDT.replace("à", "a'") TDT = TDT.replace("ù", "u'") TDT = TDT.replace("ì", "i'") characters = "éè" for x in range(2): TDT = TDT.replace(charactersx, "e'") characters = "£ç°§" for x in range(4): TDT = TDT.replace(charactersx, "_") Perché l'abitudine è di scrivere in una certa maniera ed anche se ti dicono di evitare poi scappa lo stesso Il sistema funziona; abbiamo provato per un paio d'ore in condizioni reali e la "banda bassotti" si è dichiarata più che contenta ed invia i ringraziamenti per il fondamentale aiuto
Si si ricevuta Ti rispondo di là Grazie ancora --
Bruno L. |
|
Scritto da nuzzopippo |
2024-03-04 19:27:38 - Re: Utilizzo Socket
|
Le istruzioni
raise RuntimeError('Gruppo %s non registrato' % group)della classe utility.Delivery scatenano un errore di run-time, tale errore "dovrebbe" essere intercetato e gestito (ovviamente nella GUI) ma la faccenda richiederebbe tutta una serie di accorgimenti, comunque Ti suggerirei la lettura del capitolo 8 del tutorial, è un capitolo molto importante e significativo e "racconta" ciò che volevo indicare. Comunque, Ti suggerivo di sostituire tae genere di istruzione con un semplice "return" ... praticamente di non far nulla per quelle condizioni di errore. Riguardo al punto 2, per caso hai implementato "anche" quel "self.sok.settimeout(0.1)" che ho indicato come "soluzione di emergenza" per il daemon che rimarrebbe appeso? Nel caso Tu lo abbia fatto, testa bene il punto, può comportare perdita di dati, un decimo di secondo è decisamente ingeneroso, utilizzato per test, una soluzione coerente sarebbe mooolto più laboriosa. Ho sollevato l'argomento principalmente per indicarTi che c'erano altre problematiche da vedere, circa i socket, che non è agevole trattare in un post.
Se mi è riuscito di essere utile ne sono contento ... comunque, testatelo bene il Vostro terminale. Ciao Fatti non foste a viver come bruti... |
Pagina: Indietro 1 2 3 4 5
Esegui il login per scrivere una risposta.