Buongiorno a tutti,
magari è un errore banale, ma non riesco ad uscirne.
Questo il mio problema:
Ho creato una piccola app con b4a per monitorare e generare un timecode Artnet.
Questo protocollo lavora su rete 2.x.x.x e porta 6554.
Tutto funziona perfettamemente: riesco a leggere,come slave, il timecode presente sulla rete (generato da altri apparati) e anche ad inviare il mio timecode come master.
sostanzialemente il mio codice ha queste parti
Fatto questo, testato e funzionante, ho la necessita di controllare anche la porta 5568 perche devo monitorare una altro protocollo (sACN)
Ho crato lo stesso programma in VB6 , inserendo due socket , sulle due porte, e nelle rispettive SOCK DATA ARRIVAL...leggo quello che transita .
Tutto funziona perfettamente.
Ho quidi provato a rifare il procedimento su b4a ma mi arenato.
Ho inserito un secondo sock
e qui mi sono arenato.
Come faccio ad inserire un secondo
ho provato ma non funziona piu nulla,nel senso che se vado in bedug con F8 sul dato in arrivo,bhe...non ricevo piu nulla, neppure il sock principale che prima funzionava.
sicuramente mi perdo in un bicchiere d'acqua...ma purtroppo non riesco ad uscirne
Grazie a chiunque possa darmi dei suggerimenti.
Mario
magari è un errore banale, ma non riesco ad uscirne.
Questo il mio problema:
Ho creato una piccola app con b4a per monitorare e generare un timecode Artnet.
Questo protocollo lavora su rete 2.x.x.x e porta 6554.
Tutto funziona perfettamemente: riesco a leggere,come slave, il timecode presente sulla rete (generato da altri apparati) e anche ad inviare il mio timecode come master.
sostanzialemente il mio codice ha queste parti
B4X:
Sub Process_Globals
Dim UDPSocket1 As UDPSocket ' inzializzo il protocollo artnet------------
Sub Activity_Create(FirstTime As Boolean)
UDPSocket1.Initialize("UDP", 6454, 128)'----attivo il sock udp,porta,size
Sub UDP_PacketArrived (Packet1 As UDPPacket)
Dim msg As String ' stringa arrivata al socket da xaudio
Dim data() As Byte = Packet1.Data
msg = BytesToString(Packet1.Data, Packet1.Offset, Packet1.Length, "ASCII") 'leggo il messaggio.
Sub artnet_tc
Dim Packet As UDPPacket'
buffer_smpte(18)=fm'fps ' è solo una riga , ci sono altri byte...frame rate smpte'creo il buffer
Packet.Initialize(buffer_smpte,ip_broadcast,6454) 'IP indirizzo dichiarato in partenza
UDPSocket1.Send(Packet)
Fatto questo, testato e funzionante, ho la necessita di controllare anche la porta 5568 perche devo monitorare una altro protocollo (sACN)
Ho crato lo stesso programma in VB6 , inserendo due socket , sulle due porte, e nelle rispettive SOCK DATA ARRIVAL...leggo quello che transita .
Tutto funziona perfettamente.
Ho quidi provato a rifare il procedimento su b4a ma mi arenato.
Ho inserito un secondo sock
B4X:
Sub Process_Globals
Dim UDPSocket1 As UDPSocket ' inzializzo il protocollo artnet------------
Dim UDPSocket2 As UDPSocket ' inzializzo il protocollo sacn------
Sub Activity_Create(FirstTime As Boolean)
If FirstTime Then 'inzializzo il protoccolo e la porta-----
UDPSocket1.Initialize("UDP", 6454, 128)'
UDPSocket2.Initialize("UDP", 5568, 128)'
e qui mi sono arenato.
Come faccio ad inserire un secondo
ho provato ma non funziona piu nulla,nel senso che se vado in bedug con F8 sul dato in arrivo,bhe...non ricevo piu nulla, neppure il sock principale che prima funzionava.
B4X:
Sub UDP_PacketArrived (Packet2 As UDPPacket)
sicuramente mi perdo in un bicchiere d'acqua...ma purtroppo non riesco ad uscirne
Grazie a chiunque possa darmi dei suggerimenti.
Mario