Ich bitte mal um Hilfe für einen Datentransport mit Sendmessage/Postmessage.
Ich weiss nicht welches man nehmen soll. Es soll keine Rückantwort vom entgegennehmenden Programm erfolgen.
Statt wie unten die Daten an den Clienten zu senden : SendNetworkData(ClientID(1), *rbuffer, rdata) , möchte ich die Daten mit Sendmessage/Postmessage an ein anderes Programm senden.
Ich weiss jetzt nicht wie man das realisieren kann, damit das andere Programm die Daten dauernd empfängt.
Wer kann mir mal helfen bei der Erstellung ? Braucht nur ein Minibeispiel sein, welches die Daten entgegennimmt.
Das Datenpaket schwankt immer zwischen 8 Byte und 128 Byte.
Danke.
Gruss
Code: Alles auswählen
Global *rbuffer.l, *sbuffer.l, anz_id.l, rData.l,EventID.l,text.s,id1_test.l
Declare zusi_verbinden()
Enumeration
#Window_0
#Editor_0
#String_0
EndEnumeration
Global Dim ClientID.l(3)
*sbuffer = AllocateMemory(256)
*rbuffer = AllocateMemory(256)
id1_test=0
InitNetwork()
CreateNetworkServer(1, 1435)
OpenWindow(#Window_0, 10, 10, 280, 200, "Tcp-Server", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
EditorGadget(#Editor_0, 10, 40, 200,150)
StringGadget(#String_0, 10, 10, 120, 20, "")
Repeat
EventID = WaitWindowEvent(2)
Select EventID
Case #PB_Event_Gadget
EventGadget = EventGadget()
EventType = EventType()
EndSelect
Select NetworkServerEvent()
Case 1
If anz_id < 3
anz_id=anz_id+1
ClientID(anz_id) = EventClient()
If anz_id=1
text+"armatur-id: "
ElseIf anz_id=2
text+"loksim-id: "
zusi_verbinden()
EndIf
text+Str(ClientID(anz_id))+Chr(10)
SetGadgetText(#Editor_0, text)
EndIf
Case 2
rdata=ReceiveNetworkData(ClientID(2), *rbuffer, 256)
SendNetworkData(ClientID(1), *rbuffer, rdata) >>>>>> soll rausgenommen werden
Send/Postmessage(.......) ???????????????????????
EndSelect
Until EventID = #PB_Event_CloseWindow
Procedure zusi_verbinden()
If ClientID(2)
offs = 0
PokeL(*sbuffer + 0, $03) : offs + 4
PokeA(*sbuffer + 4, $00) : offs + 1
PokeA(*sbuffer + 5, $02) : offs + 1
PokeA(*sbuffer + 6, $00) : offs + 1
SendNetworkData(ClientID(2), *sbuffer, offs)
Delay(100)
offs = 0
PokeL(*sbuffer + 0, $07) : offs + 4
PokeA(*sbuffer + 4, $00) : offs + 1
PokeA(*sbuffer + 5, $03) : offs + 1
PokeA(*sbuffer + 6, $00) : offs + 1
PokeL(*sbuffer + 7, $0A) : offs + 1
PokeA(*sbuffer + 8, $01) : offs + 1
PokeA(*sbuffer + 9, $02) : offs + 1
PokeA(*sbuffer + 10, $09) : offs + 1
SendNetworkData(ClientID(2), *sbuffer, offs)
Delay(100)
offs = 0
PokeL(*sbuffer + 0, $04) : offs + 4
PokeA(*sbuffer + 4, $00) : offs + 1
PokeA(*sbuffer + 5, $03) : offs + 1
PokeA(*sbuffer + 6, $00) : offs + 1
PokeA(*sbuffer + 7, $00) : offs + 1
SendNetworkData(ClientID(2), *sbuffer, offs)
EndIf
EndProcedure