Italian Discussioni su "A9 lettere e numeri" ma non soltanto

Star-Dust

Expert
Licensed User
Longtime User
Un altro server b4j, intermedio, cioè posto tra client e server di gioco? Può essere sia una buona che una cattiva idea, perché aumenterebbe problemi di sincronizzazione.
https://it.m.wikipedia.org/wiki/SOCKS

Esistono sorgenti in vb6 per creare proxy Socks 4 e 5 e immagino si possono tradurre benissimo in b4a

Di solito sono circa una cinquantina di righe di codice
Windows nelle impostazioni di rete già predisposto il supporto per questi protocolli già da Windows 95

Di solito si usano per navigare in maniera anonima e Lippi che risulta connesso è quello del proxy
Il proxy non viene registrazione delle connessioni quindi diventa poi impossibile rintracciare il client originale

Ma buontemponi creano dei proxy del genere per leggere le trasmissioni eventualmente modificarle ad hoc
Questo metodo è molto efficace perché la autentificazione viene effettuata dal client originale con il server. A un certo punto il proxy influenza la comunicazione senza alterare il protocollo ma modificando La trasmissione dei dati.

Ma non sono certo del funzionamento perché l'ho solo sentito dire
 

LucaMs

Expert
Licensed User
Longtime User
Sempre più roba da studiare; ma non avevo terminato le sQuole qualche... mese fà?

Cmq, con b4j userei dei websocket. Vedremo.

La cosa principale è stabilire cosa trasmettere (sembra semplice ma non lo è per niente; problema principale: sincronizzazioni - cosa deve vedere l'utente in caso di lag di connessione).

Nel già citato gioco del poker, ogni tanto capita di vedere di colpo la situazione nettamente cambiata; questo farebbe supporre che proprio tutto lo stato venga inviato. Non ho fatto caso, però, se avvengano anche tutte le animazioni perse nel frattempo o no.

Ne riparleremo, perché mi servirà più di una mano.
 

Star-Dust

Expert
Licensed User
Longtime User
Websocket è meglio perché semplicemente si può usare un proxy Meno complicato che non gestisce tutte le porte ma solo una porta solitamente la 80

Lucas sei un vero amico per gli hacker
 
Last edited:

Star-Dust

Expert
Licensed User
Longtime User
E dove sta scritto che debba usare la porta 80??? Per niente proprio.
Non è la porta ma il protocollo, che sia 80, 8080, 1080 .. usa quello che ti pare.. Leggi qualche tutorial ogni tanto anziché giocare con A9 :p

Un proxy per http è più semplice da realizzare rispetto a un proxy socks.
 
Last edited:

Star-Dust

Expert
Licensed User
Longtime User
Protocollo Socks 4

Protocollo v4/4a

Richiesta
+----+----+----+----+----+----+----+----+----+----+....+----+
| VN | CD | DSTPORT | DSTIP | USERID |NULL|
+----+----+----+----+----+----+----+----+----+----+....+----+
bytes: 1 1 2 4 variable 1
VN: Numero di versione. Deve essere 0x04
CD: Operazione. 0x01 per CONNECT, 0x02 per BIND
DSTPORT: Porta TCP del server di destinazione in formato network byte order
DSTIP: Indirizzo IP del server di destinazione in formato network byte order
USERID: Stringa contenente nome utente, non terminata da 0x00, di dimensione arbitraria
NULL: 0x00

Risposta
+----+----+----+----+----+----+----+----+
| VN | CD | DSTPORT | DSTIP |
+----+----+----+----+----+----+----+----+
bytes: 1 1 2 4
VN: Numero di versione della risposta. Dovrebbe essere 0x00
CD: Codice di risposta. Può assumere i seguenti valori:
0x5A (90 dec): richiesta accettata
0x5B (91 dec): richiesta rifiutata o fallita
0x5C (92 dec): richiesta rifiutata perché il server SOCKS non ha pututo connettersi al server ident sul client
0x5D (93 dec): richiesta rifiutata perché il server ident e il client hanno riportado USERID differenti
DSTPORT: ignorato per CONNECT
DSTIP: ignorato per CONNECT
 

Star-Dust

Expert
Licensed User
Longtime User
Altro crash
--------- beginning of /dev/log/system
--------- beginning of /dev/log/main
~i:** Activity (main) Pause, UserClosed = false **
~i:** Activity (main) Resume **
~i:** Activity (main) Pause, UserClosed = false **
~i:*** Service (starter) Create ***
~i:** Service (starter) Start **
~i:** Activity (main) Create, isFirst = true **
~i:** Activity (main) Resume **
~i:*** Service (httputils2service) Create ***
~i:** Service (httputils2service) Start **
~i:** Activity (main) Pause, UserClosed = false **
ResponseError. Reason: java.net.SocketTimeoutException: failed to connect to www.mabotech.altervista.org/138.201.222.27 (port 80) after 30000ms, Response:
sending message to waiting queue (CallSubDelayed - JobDone)
running waiting messages (1)
~i:** Activity (main) Resume **
~i:** Activity (main) Pause, UserClosed = false **
~i:** Activity (main) Resume **
ResponseError. Reason: java.net.SocketTimeoutException, Response:
(Exception) Not initialized
~i:** Activity (main) Pause, UserClosed = false **
~i:** Activity (actrealmain) Create, isFirst = true **
~i:** Activity (actrealmain) Resume **
ResponseError. Reason: java.net.SocketTimeoutException, Response:
~i:** Activity (actrealmain) Pause, UserClosed = false **
~i:** Activity (main) Resume **
(Exception) Not initialized
~i:** Activity (main) Pause, UserClosed = false **
~i:** Activity (actrealmain) Resume **
ResponseError. Reason: java.net.SocketTimeoutException: failed to connect to www.mabotech.altervista.org/138.201.222.27 (port 80) after 30000ms, Response:
~e:pointshandler$ResumableSub_CurrPointsresume (java line: 157)
~e:java.io.FileNotFoundException: /data/data/com.mabotech.lettersandnumbers/cache/9: open failed: ENOENT (No such file or directory)
~e: at libcore.io.IoBridge.open(IoBridge.java:460)
~e: at java.io.FileInputStream.<init>(FileInputStream.java:78)
~e: at anywheresoftware.b4a.objects.streams.File.OpenInput(File.java:209)
~e: at anywheresoftware.b4a.samples.httputils2.httpjob._getstring2(httpjob.java:218)
~e: at anywheresoftware.b4a.samples.httputils2.httpjob._getstring(httpjob.java:207)
~e: at com.mabotech.lettersandnumbers.pointshandler$ResumableSub_CurrPoints.resume(pointshandler.java:157)
~e: at anywheresoftware.b4a.BA.checkAndRunWaitForEvent(BA.java:240)
~e: at anywheresoftware.b4a.BA.raiseEvent2(BA.java:180)
~e: at anywheresoftware.b4a.keywords.Common$11.run(Common.java:1135)
~e: at android.os.Handler.handleCallback(Handler.java:725)
~e: at android.os.Handler.dispatchMessage(Handler.java:92)
~e: at android.os.Looper.loop(Looper.java:153)
~e: at android.app.ActivityThread.main(ActivityThread.java:5297)
~e: at java.lang.reflect.Method.invokeNative(Native Method)
~e: at java.lang.reflect.Method.invoke(Method.java:511)
~e: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
~e: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
~e: at dalvik.system.NativeStart.main(Native Method)
~e:Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
~e: at libcore.io.Posix.open(Native Method)
~e: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
~e: at libcore.io.IoBridge.open(IoBridge.java:444)
~e: ... 17 more
java.io.FileNotFoundException: /data/data/com.mabotech.lettersandnumbers/cache/9: open failed: ENOENT (No such file or directory)
at libcore.io.IoBridge.open(IoBridge.java:460)
at java.io.FileInputStream.<init>(FileInputStream.java:78)
at anywheresoftware.b4a.objects.streams.File.OpenInput(File.java:209)
at anywheresoftware.b4a.samples.httputils2.httpjob._getstring2(httpjob.java:218)
at anywheresoftware.b4a.samples.httputils2.httpjob._getstring(httpjob.java:207)
at com.mabotech.lettersandnumbers.pointshandler$ResumableSub_CurrPoints.resume(pointshandler.java:157)
at anywheresoftware.b4a.BA.checkAndRunWaitForEvent(BA.java:240)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:180)
at anywheresoftware.b4a.keywords.Common$11.run(Common.java:1135)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:5297)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
at libcore.io.IoBridge.open(IoBridge.java:444)
... 17 more

Si blocca 1 partita su 2, è ingiocabile
 
Last edited:

LucaMs

Expert
Licensed User
Longtime User
Per qualche motivo non riiuscivi a connetterti ad AlterVista; però non sarebbe dovuto andare in crash.

Dovrebbe bastarmi cambiare url, in modo da non riuscire mai a connettermi e quindi trovare dove e perché smetta di funzionare.
 

Star-Dust

Expert
Licensed User
Longtime User
Beh, mancanza di connessione probabilmente. Gestiscila per favore...Non posso fare tutto io in questa casa!!!
 

Star-Dust

Expert
Licensed User
Longtime User
A metà partita o alla fine
 

Star-Dust

Expert
Licensed User
Longtime User
Forse era uno aperto dalla precedente partita
 

LucaMs

Expert
Licensed User
Longtime User
Può essere ma prima di pubblicare per l'ennesima volta l'app con qualche bug, vorrei "tentare" di assicurarmi che fosse quello e solo quello.

In vari punti del progetto mi connetto, ovviamente, anche se non sono molti, e se queste fossero resumable routine, con qualche job result success false, devo vedere come ne esce.
 

LucaMs

Expert
Licensed User
Longtime User
Tempo rimanente: il numero di secondi rimanenti va moltiplicato per un punteggio che però si differenzia se il target è stato raggiunto (max punti), è stato mancato di poco oppure scazzato di brutto (min punti)
E come hai già scritto la componente tempo è quella che alla fine ha il peso maggiore.
Non è esattamente ciò che intendevo; la componente tempo non deve avere il peso maggiore, che spetta all'aver centrato o mancato di poco il bersaglio (non il target :p), ma è il dato più variabile, quello che influisce di più tra i risultati ottenuti dai vari utenti (che già erano pochi e con tutti 'sti bug, sniffer, saturazione punteggi, difficilmente aumenteranno! Dove sei, Penny :().

(sto rileggendo il post di @udg sia per capirlo a fondo, sia per stabilire se applicare in qualche modo i suoi suggerimenti oppure basarmi su quel foglio Excel allegato precedentemente e solo abbozzato oppure un misto - non un mix :p - tra questi).
 

Star-Dust

Expert
Licensed User
Longtime User
Tu e Filippo avete lo stesso stile di programmazione.
Far crashare l'App:p:p:p

In 40 app che ho pubblicato in 4 anni i miei crash sono stati al massimo 8. Mi sembra cosi anomali, secondo me dovete riprogettare meglio le vostre App, anzi d'accapo, prima seduti su un tavolo e con un foglio di carta bianco dove prestabilire il tutto.

Se tu fossi uno sviluppatore hacker e le tue App spia andassero continuamente in crash .... non saprei ... chiedi allospiato di mandarti i report o i log ? :D:D:D:D:D:D
 
D

Deleted member 103

Guest
@LucaMs
Ho provato finalmente il tuo gioco, finalmente perchè allo start non è andato in crash. :D
Penso d'essere il primo a non aver fatto nessun errore, infatti ho zero errori, o sono punti? :rolleyes:
 
Top