su pc "A" è in esecuzione una applicazione/servizio B4J (dormiente) che è in attesa di ricevere un qualcosa, un segnale (dagli altri pc), per potersi svegliare e svolgere il suo compito
in pratica sul pc "A" gira questa applicazione B4J, e resta in attesa di ricevere una info, un bit, un drin-drin, da uno degli altri pc della stessa rete;
vorrei escludere soluzioni tramite socket;
Porc... esistono davvero allora
Pensavo ci fossero solo nei manuali della preistoria informatica
Le memorie a nucleo di ferrite le ho visto su Youtube ci sono dei video splendidi di una ciurma che ha riattivato il modulo cpu del Lem, quello che e' andato sulla luna (almeno cosi dicheno), gente parte Russia o giu' di li
Ci saranno molti clienti o solo uno per volta? Se ci sara un cliente per volta posso venderti una B4X lib che ho svilupato ed e cosi facile usarla come il codice seguente:
For client:
B4X:
Sub Process_Globals
Dim cm as Comms
End Sub
Sub InitializeClient
cm.Initialize
cm.InitializeConnectFromMe(Me, "cm", MainForm.RootPane)
cm.DataReceiveType = cm.DataTypeString
cm.Send(STRING)
' - o -
cm.DataReceiveType = cm.DataTypeByteArray
cm.SendBytes(BYTEARRAY)
End Sub
' If you have selected - cm.DataReceiveType = cm.DataTypeString
Sub cm_DataReceived(sData As String)
End Sub
' If you have selected - cm.DataReceiveType = cm.DataTypeByteArray
Sub cm_DataReceivedBytes(buffer() As Byte)
End Sub
For server:
B4X:
Sub Process_Globals
Dim cm as Comms
End Sub
Sub InitializeServer
cm.Initialize
cm.InitializeConnectToMe(Me, 51042, "cm", MainForm.RootPane)
cm.DataReceiveType = cm.DataTypeString
cm.Send(STRING)
' - o -
cm.DataReceiveType = cm.DataTypeByteArray
cm.SendBytes(BYTEARRAY)
End Sub
' If you have selected - cm.DataReceiveType = cm.DataTypeString
Sub cm_DataReceived(sData As String)
End Sub
' If you have selected - cm.DataReceiveType = cm.DataTypeByteArray
Sub cm_DataReceivedBytes(buffer() As Byte)
End Sub
Chiunque la vuole comprare puo mandarmi un messaggio private.
su pc "A" è in esecuzione una applicazione/servizio B4J (dormiente) che è in attesa di ricevere un qualcosa, un segnale (dagli altri pc), per potersi svegliare e svolgere il suo compito
in pratica sul pc "A" gira questa applicazione B4J, e resta in attesa di ricevere una info, un bit, un drin-drin, da uno degli altri pc della stessa rete;
vorrei escludere soluzioni tramite socket;
E' chiaro che l'applicazione sul PC A non possa "dormire", dovrà essere sempre in "ascolto". Quindi un server è l'ideale: sono i client che "svegliano" il server, ovvero lo "interrogano".
Per me la cosa più semplice è un server websocket jServer - b4j. "Per me" non perché io pensi che sia la soluzione più semplice - anche se è semplice - ma perché sono abituato a smanettarci.
Credo che sia il server che il cliente possono iniziare una "conversazione". Questo in rispetto con JServer. Il suo avantaggio però centràle e che con la B4X lib è un implementazione "quadro nero" per tutti e tre AIS. Puoi inserire il riferimento alla libreria e tu sei pronto per "volare". Uso TCP per essere sicuro che i pacchetti arriveranno all' altra parte della "linea".
Sei coretto e sbagli allo stesso tempo. Il cliente sempre inizia la coversazzione ma che cosa è questa che chiamiamo conversazzione? Se ti dico Buongiorno alle 7:00:00 e tu rispondi Buongiorno alle 7:00:01 questa è una conersazzione. Se non ti diro qualcosa per rispondere al tuo risposto non ti dirai "Eh come Va?" alle 7:02:00? Complimenti, sei appena un server che ha iniziato una conversazione.