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 12:14, 28 February 2008 (edit)
Sandman (Talk | contribs)
(switching)
← Previous diff
Current revision (09:53, 18 August 2008) (edit) (undo)
Eckolin (Talk | contribs)
m
 
(2 intermediate revisions not shown.)
Line 37: Line 37:
case NET_STATUS_DISCONNECTED: case NET_STATUS_DISCONNECTED:
// code when the connection is disconnected // code when the connection is disconnected
- say("# Disconnected!);+ say("# Disconnected!");
end end
case NET_STATUS_INACTIVE: case NET_STATUS_INACTIVE:
Line 51: Line 51:
case NET_STATUS_ESTABLISHED: case NET_STATUS_ESTABLISHED:
// code when the connection is just established // code when the connection is just established
- say("# Connected!);+ say("# Connected!");
end end
end end
Line 69: Line 69:
* [[Media:NETv1.54a_Tester.zip|Network.DLL v1.54a Tester]] * [[Media:NETv1.54a_Tester.zip|Network.DLL v1.54a Tester]]
* [[Tutorial:IRCchat|Network.DLL v1.54a Example]] * [[Tutorial:IRCchat|Network.DLL v1.54a Example]]
 +
 +Requires ''SDL_Net.DLL'' (included in package).
== Documentation == == Documentation ==

Current revision

Up to DLL's



Contents

[edit] 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.

[edit] 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.

[edit] 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

[edit] Future

It probably will have UDP support as well, though at the moment only TCP is used.

[edit] Download

Here's the complete package containing a simple testprogram with commented source, the DLL, the sourcecode and full documentation:

Requires SDL_Net.DLL (included in package).

[edit] Documentation

[edit] Links


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