- This wiki is out of date, use the continuation of this wiki instead
Network DLL
From FenixWiki
Contents |
Definition
Network.DLL is a DLL for internet/network communication between two Fenix programs or a Fenix program and a different program. It handles quite a few things on its own, so the user can focus on different things in his program.
Features
- One command setup, another one for listening for connections (server) or one for opening a connection (client).
- Connection status monitor, informs Fenix of the status of the connections.
- Sending and receiving of variables of all datatypes, graphics, files, whatever you want.
- Download/upload meter, for measuring of speeds and totals.
- Automatic message separation (separation string specifiable).
- Dynamic messagebuffer provides limitless sending and receiving.
How to use
To be able to use it, you must include the Network.DLL functionality:
include "Network.fh";
First you initialize Network.DLL:
NET_Init(0,10,1);
From this point you can do whatever you like, for example connect to google on port 3435:
NetID=NET_Open("www.google.com",3435);
And send a message:
NET_Message(NetID,"Hello!");
Or listen for connections on port 4555:
NET_Listen(4555);
Receiving and handling messages is also easy:
Loop
switch(NET.Incoming[NetID])
case NET_STATUS_DISCONNECTED:
// code when the connection is disconnected
say("# Disconnected!);
end
case NET_STATUS_INACTIVE:
// code when the connection is idle
end
case NET_STATUS_ACTIVE:
// code when there are >0 new messages on the connection
while( len(message=NET_Recv(NetID))>0 )
// handle the message
say("< " + message);
end
end
case NET_STATUS_ESTABLISHED:
// code when the connection is just established
say("# Connected!);
end
end
frame;
End
Future
It probably will have UDP support as well, though at the moment only TCP is used.
Download
Here's the complete package containing a simple testprogram with commented source, the DLL, the sourcecode and full documentation:
- Network.DLL v1.54a for Fenix 0.84a
- Network.DLL v1.54a for Fenix 0.83b
- Network.DLL v1.54a for Fenix 0.92a
- Network.DLL v1.54a Tester
Also Link3rn3l made an example, using Fenix 0.91. Fenix 0.92a included:
Documentation
- Network.DLL functions
- Network.DLL globals
- Network.DLL defines
- Network.DLL errorcodes
- Network.DLL changelog
Links
| Network.DLL Documentation | |
| Main • Functions • Globals • Defines • Errorcodes • Changelog | |
| DLL's | |
| • Explosion.DLL • GUI.DLL • Image.DLL • LCD.DLL • Log.dll • MPEG.DLL • Mixer.DLL • Network.DLL • TTF.DLL • | |
