Revision as of 20:11, 21 November 2007 (edit) Sandman  (Talk | contribs) m   ← Previous diff | 
				Current revision (12:19, 28 February 2008) (edit) (undo) Sandman  (Talk | contribs)  m     | 
			
		| (2 intermediate revisions not shown.) | 
| Line 1: | 
Line 1: | 
| - | [[Category:dll]] | + | #REDIRECT [[DLL:Network.DLL]] | 
| - | [[Category:networkdll]] | + |  | 
| - |   | + |  | 
| - | [[DLLs|'''Up to DLL's''']] | + |  | 
| - | ---- | + |  | 
| - |   | + |  | 
| - |   | + |  | 
| - | == 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]], [[graphic]]s, 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: | + |  | 
| - | <pre>include "Network.fh";</pre> | + |  | 
| - | First you initialize Network.DLL: | + |  | 
| - | <pre>NET_Init(0,10,1);</pre> | + |  | 
| - | From this point you can do whatever you like, for example connect to google on port 3435: | + |  | 
| - | <pre>NetID=NET_Open("www.google.com",3435);</pre> | + |  | 
| - | And send a message: | + |  | 
| - | <pre>NET_Message(NetID,"Hello!");</pre> | + |  | 
| - | Or listen for connections on port 4555: | + |  | 
| - | <pre>NET_Listen(4555);</pre> | + |  | 
| - |   | + |  | 
| - | Receiving and handling messages is also easy: | + |  | 
| - | <pre> | + |  | 
| - | 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 | + |  | 
| - | </pre> | + |  | 
| - |   | + |  | 
| - | == 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: | + |  | 
| - |   | + |  | 
| - | * [[Media:NETv1.54a(Fenix0.83b).zip|Network.DLL v1.54a for Fenix 0.83b]] | + |  | 
| - | * [[Media:NETv1.54a(Fenix0.84a).zip|Network.DLL v1.54a for Fenix 0.84a]] | + |  | 
| - | * [[Media:NETv1.54a(Fenix0.92a).zip|Network.DLL v1.54a for Fenix 0.92a]] (also 0.93 and before 0.92a) | + |  | 
| - | * [[NETv1.54a_Tester.zip|Network.DLL v1.54a Tester]] | + |  | 
| - | * [[Tutorial:IRCchat|Network.DLL v1.54a Example]] | + |  | 
| - |   | + |  | 
| - | == Documentation == | + |  | 
| - | * [[:Functioncategory:networkdll|Network.DLL functions]] | + |  | 
| - | * [[NET_Globals|Network.DLL globals]] | + |  | 
| - | * [[NET_Defines|Network.DLL defines]] | + |  | 
| - | * [[NET_Errorcodes|Network.DLL errorcodes]] | + |  | 
| - | * [[NET_Changelog|Network.DLL changelog]] | + |  | 
| - |   | + |  | 
| - | == Links == | + |  | 
| - | * [http://www.booleansoup.com/index.php?p=32&mode=viewtopic&id=430&page=0 News, download links and releases of Network DLL on Booleansoup] | + |  | 
| - |   | + |  | 
| - | {{Netdocbox}} | + |  | 
| - | {{Dllbox}} | + |  |