Italian [SOLVED] Problema connessione Tcp-ip da Windows

Lello1964

Well-Known Member
Licensed User
Longtime User
ho un servizio server Android che utilizza ServerSocket, riceve dati utilizzando il protocollo TCP-ip.

Se mi collego da una App realizzata con B4A e invio i dati, funziona perfettamente.

Se provo a inviare i dati da Windows oppure da una App andorid non B4A, mi da la connessione ma non riceve i dati.

Avete qualche esempio o vi è capitato ?
 

giannimaione

Well-Known Member
Licensed User
Longtime User
ciao Lello,
non sono in ufficio per inviarti il codice B4A di una app "scontrino parlante";
il device android (tablet cinese) riceve i dati da un gestionale windows (no B4X) "coca cola 1,50 ..... svelto piatto 0,99" tramite soket tcp-ip;
il device, oltre a visualizzare la "stringa" ricevuta, con la lib TTS si trasforma in LOGORROICO!!! :)

non ho problemi di connessione e/o di ricezione dati.
poi ti invio il codice
 

Star-Dust

Expert
Licensed User
Longtime User
Avete qualche esempio o vi è capitato ?
Potrebbe succedere su alcuni protocolli, Il browser controlla molti aspetti dell'Header che il Client okHttp potrebbe ignorare.
Serve qualche dettaglio in più per capire.
 

Lello1964

Well-Known Member
Licensed User
Longtime User
Server Android :

B4X:
Sub Process_Globals
    Public server As ServerSocket
    Private client As Socket
    Private AstreamPagamico As AsyncStreams
.......

Private Sub ListenForConnections
    Log("Chiamata TCPip")
    Do While working
        server.Listen
        Wait For server_NewConnection (Successful As Boolean, NewSocket As Socket)
  
        If Successful Then
            CallSub(Main, "SetState")
            client = NewSocket
            Astream.InitializePrefix(client.InputStream, False, client.OutputStream, "Astream")

..................


Client Windows :

using MsWindowsSocket
.
thisform.tcpIP.object.Protocol=0


thisform.tcpIP.object.RemotePort=2100
thisform.tcpIP.object.connect("192.168.1.162",2100)

MessageBox(THISFORM.TCPIP.OBJECT.STate)

If Thisform.TCPIP.STate < 7
Messagebox("chiudo")
Thisform.TCPIP.Object.Close()
Cancel
Exit

Endif

Thisform.TCPIP.OBJECT.SendData( "aa" )

ho provato a inviare dati con Hercules via tcp-ip, stesso problema , il server si connette ma non riceve i dati.

Ho scaricato dal play store uan App tcp-ip Client, idem, si connette ma non arrivano i dati.

Invece con la mia App Android B4A che utilizza lo stesso ServerSocket per inviare dati, funziona benissimo.

Inoltre se invio a Hercules in modalità server windows tutto funziona.

Il problema è il server ServerSocket che non riceve i dati, probabilmente accetta solo dati nel suo formato ?
 

Star-Dust

Expert
Licensed User
Longtime User
Stai tentando di simulare un protocollo http?

Non so cosa sia Hercules
 

Star-Dust

Expert
Licensed User
Longtime User
Perché inizializzi astream con InitializePrefix? C'è un motivo specifico?
 

Lello1964

Well-Known Member
Licensed User
Longtime User
Sei un genio !!!!!!!!

risolto

ho perso due giorni,

avevo preso questo pezzo dalla chat di Erel.

Non ci ho fatto caso.


Grazieeeeeee
 

Star-Dust

Expert
Licensed User
Longtime User
I client normalmente non lo usano.
Ogni invio aggiunge dei byte che indica la lunghezza del pacchetto.
 

Xfood

Expert
Licensed User
ciao Lello,
non sono in ufficio per inviarti il codice B4A di una app "scontrino parlante";
il device android (tablet cinese) riceve i dati da un gestionale windows (no B4X) "coca cola 1,50 ..... svelto piatto 0,99" tramite soket tcp-ip;
il device, oltre a visualizzare la "stringa" ricevuta, con la lib TTS si trasforma in LOGORROICO!!! :)

non ho problemi di connessione e/o di ricezione dati.
poi ti invio il codice
Anche se @lellho risolto, l'app che citavi, potrebbe essere utile.😉😉😉
 

amorosik

Expert
Licensed User
Pensavo di archiviare tutti i loghi di StarDust, a beneficio dei posteri, che potranno analizzarne significati e valenze
Vedo che su Amasson vendono Sql Server Enterprise a qualche centinaio di euro
Che dite, ce la fa' a tenerli tutti?
O megli andare direttamente su Oracle?
 
Top