reliable udp example lazarus / 38-Networking and Web Programming ---------------------------------------------------------------------- xinyiman · 2019-01-17 13:09 Hi, for my cross-platform project i search a rudp library for lazarus. Any suggestion? ---------------------------------------------------------------------- Thaddy · 2019-01-17 13:44 Call me old fashioned but reliable UDP is called TCP..... Although in most countries the current connections are so stable it doesn't really matter. You may want to read this: https://en.wikipedia.org/wiki/User_Datagram_Protocol Most sockets libraries have good UDP support. So anything will do.... Remember: UDP is a fire and forget weapon..... ---------------------------------------------------------------------- xinyiman · 2019-01-17 13:59 Yes, I think so, but I was told that RUDP is more powerful than TCP in terms of speed. ---------------------------------------------------------------------- correa.elias · 2019-01-17 14:39 Theres Enet (http://enet.bespin.org/) its used in games like this: http://sauerbraten.org/ Its a C library that can be compiled to a DLL (or SO or Dylib) and used by freepascal. The bindings for this library are included by default in fpc (look into FPC_FOLDER/packages/libenet/examples). ---------------------------------------------------------------------- dsiders · 2019-01-17 14:52 Quote from: correa.elias on January 17, 2019, 03:39:38 pmThe bindings for this library are included by default in fpc (look into FPC_FOLDER/packages/libenet/examples). They're not present in FPC 3.0.4 for Windows. ---------------------------------------------------------------------- xinyiman · 2019-01-17 14:58 Quote from: correa.elias on January 17, 2019, 03:39:38 pmTheres Enet (http://enet.bespin.org/) its used in games like this: http://sauerbraten.org/ Its a C library that can be compiled to a DLL (or SO or Dylib) and used by freepascal. The bindings for this library are included by default in fpc (look into FPC_FOLDER/packages/libenet/examples). Yes, but when i build exaxmples return this Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i Compile Project, Target: serverapp: Exit code 256, Errors: 3, Hints: 2serverapp.pp(21,52) Hint: Parameter "BroadcastMsg" not usedserverapp.pp(21,80) Hint: Parameter "BroadcastChannel" not usedError: linker: Undefined symbols for architecture x86_64:Error: linker:   "_enet_address_set_host", referenced from:  "_enet_deinitialize", referenced from:      _UENETCLASS$_$TENETCLASS_$__$$_DESTROY in uenetclass.o  "_enet_host_broadcast", referenced from:      _UENETCLASS$_$TENETCLASS _$__$$_BROADCASTMSG$BYTE$POINTER$LONGINT$TENETPACKETFLAGS$BOOLEAN$$BOO LEAN in uenetclass.o      _UENETCLASS$_$TENETCLASS_$__$$_PROCESSMSG$$BOOLEAN in uenetclass.o  "_enet_host_connect", referenced from:      _UENETCLASS$_$TENETCLASS_$__$$_CONNECT$ANSISTRING$WORD$$BOOLEAN in uenetclass.o  "_enet_host_create", referenced from:      _UENETCLASS$_$TENETCLASS_$__$$_INITHOST$$BOOLEAN in uenetclass.o  "_enet_host_destroy", referenced from:      _UENETCLASS$_$TENETCLASS_$__$$_DEINITHOST in uenetclass.o  "_enet_host_flush", referenced from:      _UENETCLASS$_$TENETCLASS_$__$$_FLUSHMSG in uenetclass.o  "_enet_host_service", referenced from:      _UENETCLASS$_$TENETCLASS_$__$$_CONNECT$ANSISTRING$WORD$$BOOLEAN in uenetclass.o      _UENETCLASS$_$TENETCLASS_$__$$_PROCESSMSG$$BOOLEAN in uenetclass.o  "_enet_initialize", referenced from:      _UENETCLASS$_$TENETCLASS_$__$$_CREATE$WORD$BOOLEAN$$TENETCLASS in uenetclass.o  "_enet_packet_create", referenced from:      _UENETCLASS $_$TENETCLASS_$__$$_SENDMSG$BYTE$POINTER$LONGINT$TENETPACKETFLAGS$BOOL EAN$$BOOLEAN in uenetclass.o      _UENETCLASS$_$TENETCLASS_$__$$_SENDM SGEVENTPEER$POINTER$LONGINT$TENETPACKETFLAGS$BOOLEAN$$BOOLEAN in uenetclass.o      _UENETCLASS$_$TENETCLASS_$__$$_BROADCASTMSG$BYTE$POI NTER$LONGINT$TENETPACKETFLAGS$BOOLEAN$$BOOLEAN in uenetclass.o      _UENETCLASS$_$TENETCLASS_$__$$_PROCESSMSG$$BOOLEAN in uenetclass.o  "_enet_packet_destroy", referenced from:      _UENETCLASS$_$TENETCLASS_$__$$_PROCESSMSG$$BOOLEAN in uenetclass.o  "_enet_peer_disconnect", referenced from:      _UENETCLASS$_$TENETCLASS_$__$$_DISCONNECT$BOOLEAN$$BOOLEAN in uenetclass.o  "_enet_peer_disconnect_now", referenced from:      _UENETCLASS$_$TENETCLASS_$__$$_DISCONNECT$BOOLEAN$$BOOLEAN in uenetclass.o  "_enet_peer_ping", referenced from:      _UENETCLASS$_$TENETCLASS_$__$$_PING in uenetclass.o  "_enet_peer_reset", referenced from:      _UENETCLASS$_$TENETCLASS_$__$$_CONNECT$ANSISTRING$WORD$$BOOLEAN in uenetclass.o  "_enet_peer_send", referenced from:      _UENETCLASS$_$T ENETCLASS_$__$$_SENDMSG$BYTE$POINTER$LONGINT$TENETPACKETFLAGS$BOOLEAN$ $BOOLEAN in uenetclass.o      _UENETCLASS$_$TENETCLASS_$__$$_SENDMSGEV ENTPEER$POINTER$LONGINT$TENETPACKETFLAGS$BOOLEAN$$BOOLEAN in uenetclass.old: symbol(s) not found for architecture x86_64An error occurred while linking Error: Error while linking ---------------------------------------------------------------------- Leledumbo · 2019-01-20 11:49 Quote from: xinyiman on January 17, 2019, 03:58:35 pmYes, but when i build exaxmples return this ... Error: linker: Undefined symbols for architecture x86_64: Bitness mismatch. Ensure your enet library is 64-bit as your code. It builds smoothly on my 64-bit Manjaro Linux. ---------------------------------------------------------------------- Thaddy · 2019-01-20 13:09 Quote from: xinyiman on January 17, 2019, 02:59:11 pmYes, I think so, but I was told that RUDP is more powerful than TCP in terms of speed. Well, https://en.wikipedia.org/wiki/Reliable_User_Datagram_Protocol tells me it is not a standard and as such you would need to implement both client and server yourself. Since it is not a standard, I can not help you this time. ---------------------------------------------------------------------- DonAlfredo · 2019-01-20 13:52 Perhaps this can help. https://github.com/BeRo1985/rnl ---------------------------------------------------------------------- diego bertotti · 2019-12-04 12:57 Quote from: dsiders on January 17, 2019, 03:52:57 pmQuote from: correa.elias on January 17, 2019, 03:39:38 pmThe bindings for this library are included by default in fpc (look into FPC_FOLDER/packages/libenet/examples). They're not present in FPC 3.0.4 for Windows. i found it on "lazarus/fpc/examples/"