Seite 3 von 3

Re: Module NetworkFunctions - TCP Daten senden und empfangen

Verfasst: 07.03.2019 21:18
von mk-soft
Update v1.10
- Added TcpCheckClientData(...)
- Added TcpGetClientList(...)
- Fix Syntax #TcpSendSynchron und #TcpSendAsynchron

Re: Module NetworkFunctions - TCP Daten senden und empfangen

Verfasst: 09.03.2019 16:17
von mk-soft
Update v1.13
- TcpSetSendDataCallback für asynchrones senden hinzugefügt
- * Neue Konstanten für SendDataCallback
- * Header erweitert
- #TCP_DebugLevelBusy hinzugefügt
- #TCP_BlockDelay auf 20ms gesetzt
- Beschreibung überarbeitet

Neu:
TcpSetSendDataCallback(ConnectionID, *Callback)
Für asynchrones senden von Daten kann ein Callback gesetzt werden.
Syntax: SendDataCallback(Status, TransactionID, DataOffset, DataLen)

Im Status #TcpSendDataBusy kann auch das senden der Daten abgebrochen werden.
Diese wird auch zum Empfanger gesendet, damit dieser seinen Empfangsbuffer freigeben kann.

P.S Test-Server und Client aktualisiert

Re: Module NetworkFunctions - TCP Daten senden und empfangen

Verfasst: 28.06.2019 21:09
von mk-soft
Update v1.14
- Bugfix Speicherleck SendString Asynchron
:wink:

Re: Module NetworkFunctions - TCP Daten senden und empfangen

Verfasst: 06.07.2019 13:19
von mk-soft
Update v1.15
- Added TcpGetReceiveData
; - TcpGetReceiveData(ConnectionID, *pData.sReceiveData)
; * Mit TcpGetReceiveData erhält man die empfangenden Daten als Struktur.
; Den Zeiger auf Data in der Struktur muss nach Verwendung selber mit FreeMemory freigegeben werden.
Somit kann man die Daten an einem neuen Thread direkt zur Bearbeitung übergeben... :wink:

Re: Module NetworkFunctions - TCP Daten senden und empfangen

Verfasst: 26.10.2019 12:54
von mk-soft
Update v1.16
- Maximale Blockgröße geändert. Max 65535 - 24 (HeaderSize). Voreinstellung 8 * 1452 - 24
- Struktur angepasst

Re: Module NetworkFunctions - TCP Daten senden und empfangen

Verfasst: 27.10.2019 03:23
von mk-soft
Update v1.18
- Bugfix MacOS SendNetworkData (PB bug?)

Habe jetzt stundenlang ein Fehler bei SendNetworkData bei MacOS gesucht.

Sollte beim senden der Daten den Empfänger nicht mehr existieren, crash das program ab und zu. Normaler weise sollte man wie bei Windows dann als result -1 bekommen.

Lösung:
Vor dem Senden prüft man die Verbindung mit GetClientPort. Sollte die Verbindung nicht mehr existieren, kommt Null zurück.