This wiki is out of date, use the continuation of this wiki instead

DLL:Network.DLL

From FenixWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 01:56, 1 September 2007 (edit)
Sandman (Talk | contribs)
m (Redirecting to Network DLL)
← Previous diff
Revision as of 12:14, 28 February 2008 (edit) (undo)
Sandman (Talk | contribs)
(switching)
Next diff →
Line 1: Line 1:
-#REDIRECT [[Network_DLL]]+[[Category: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)
 +* [[Media: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}}

Revision as of 12:14, 28 February 2008

Up to DLL's



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:

Documentation

Links


Network.DLL Documentation
MainFunctionsGlobalsDefinesErrorcodesChangelog
DLL's
Explosion.DLLGUI.DLLImage.DLLLCD.DLLLog.dllMPEG.DLLMixer.DLLNetwork.DLLTTF.DLL
Personal tools