Code: Alles auswählen
DeclareModule NetworkManager
Enumeration DataType
#DataType_DataHeader
#DataType_String
#DataType_Binary
#DataType_File
EndEnumeration
Enumeration EventType
#Event_DataHeaderReceived
#Event_DataHeaderReceivingInProgress
#Event_DataHeaderReceivingTimeOut
#Event_BinaryDataReceived
#Event_BinaryDataReceivingInProgress
#Event_BinaryDataReceivingTimeOut
#Event_StringReceived
#Event_StringReceivingInProgress
#Event_StringReceivingTimeOut
#Event_StringReceivingError
#Event_ClientConnected
#Event_ClientDisconnected
EndEnumeration
Declare.s GetDataTypeAsString(DataType.i)
Declare.i CreateServer(Port.i, IPv6.i=#False, BindedIP.s="")
Declare CloseServer(Server.i)
Declare.i OpenClient(ServerAdress.s, Port.i, IPv6.i=#False, TimeOut.i=60000, LocalIP.s="", LocalPort=0)
Declare CloseClient(Client.i)
Declare.i ServerSendString(Server.i, Client.i, String.s)
Declare.i ServerSendBinaryData(Server.i, Client.i, *Memory, MemorySize.i)
Declare.i ServerSendFile(Server.i, Client.i, FilePath.s, FileName.s = "")
Declare.i ClientSendString(Client.i, String.s)
Declare.i ClientSendBinaryData(Client.i, *Memory, MemorySize.i)
Declare.i ClientSendFile(Client.i, FilePath.s, FileName.s = "")
Declare ServerReceiveDataHandler(AddresseOfProcedure.i)
Declare ClientReceiveDataHandler(AddresseOfProcedure.i)
Declare FreeServerClientStringBuffer(Server.i, Client.i)
Declare FreeClientStringBuffer(Client.i)
EndDeclareModule
Procedure ServerCallback(EventServer.i, EventClient.i, Event.i, Param1.i, Param2.i, Param3.q, Param4.q, Param5.q)
; Param1 (Integer) Param2 (Integer) Param3 (Quad) Param4 (Quad) Param5 (Quad)
; #Event_DataHeaderReceived : EventServer, EventClient, Event, DataType, AddresseOfFileNameString, DataSize, 0, 0
; #Event_DataHeaderReceivingInProgress : EventServer, EventClient, Event, 0, 0, CountOfAllReceivedBytes, HeaderSize, 0
; #Event_BinaryDataReceived : EventServer, EventClient, Event, DataType, BufferStartAddresse, BufferDataLength, DataSize, 0
; #Event_BinaryDataReceivingInProgress : EventServer, EventClient, Event, DataType, BufferStartAddresse, BufferDataLength, CountOfAllReceivedBytes, DataSize
; #Event_StringReceived : EventServer, EventClient, Event, StringBufferStartAddresse, 0, DataSize, 0, 0
; #Event_StringReceivingInProgress : EventServer, EventClient, Event, 0, 0, CountOfAllReceivedBytes, DataSize, 0
; #Event_StringReceivingError : EventServer, EventClient, Event, 0, 0, 0, 0, 0
; #Event_ClientConnected : EventServer, EventClient, Event, 0, 0, 0, 0, 0
; #Event_ClientDisconnected : EventServer, EventClient, Event, 0, 0, 0, 0, 0
EndProcedure
Procedure ClientCallback(EventClient.i, Event.i, Param1.i, Param2.i, Param3.q, Param4.q, Param5.q)
; Param1 (Integer) Param2 (Integer) Param3 (Quad) Param4 (Quad) Param5 (Quad)
; #Event_DataHeaderReceived : EventClient, Event, DataType, AddresseOfFileNameString, DataSize, 0, 0
; #Event_DataHeaderReceivingInProgress : EventClient, Event, 0, 0, CountOfAllReceivedBytes, HeaderSize, 0
; #Event_BinaryDataReceived : EventClient, Event, DataType, BufferStartAddresse, BufferDataLength, DataSize, 0
; #Event_BinaryDataReceivingInProgress : EventClient, Event, DataType, BufferStartAddresse, BufferDataLength, CountOfAllReceivedBytes, DataSize
; #Event_StringReceived : EventClient, Event, StringBufferStartAddresse, 0, DataSize, 0, 0
; #Event_StringReceivingInProgress : EventClient, Event, 0, 0, CountOfAllReceivedBytes, DataSize, 0
; #Event_StringReceivingError : EventClient, Event, 0, 0, 0, 0, 0
EndProcedure