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

NET Recv

From FenixWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 15:03, 14 April 2007 (edit)
Sandman (Talk | contribs)

← Previous diff
Current revision (22:47, 12 September 2007) (edit) (undo)
Sandman (Talk | contribs)
m
 
(6 intermediate revisions not shown.)
Line 1: Line 1:
[[Category:functions]] [[Category:functions]]
[[Category:networkdll]] [[Category:networkdll]]
 +[[Category:dll]]
 +
 +[[Functioncategory:Networkdll|'''Up to Network.DLL Functions''']]
 +----
 +
==Definition== ==Definition==
-'''INT''' NET_Recv ( '''WORD''' connection , ['''BYTE''' includeseperator] )+'''INT''' NET_Recv ( <'''WORD''' connection> , [<'''BYTE''' includeseperator>] )
-Gets the waiting message on a connection. The function will keep returning messages until it returns "", which indicates no more new messages. So it is best to put this function in a frameless loop, like so:+Gets the waiting message on a certain connection.
-<pre>+
-msg = NET_GetMessage(conn_c);+
-Repeat+
- say("Incoming(" + conn_c + "): " + msg);+
- msg = NET_GetMessage(conn_c);+
-Until(len(msg)<=0)+
-</pre>+
-This way it will still return "" if "" was indeed sent. If you don't need this or you have some other reason, you can change the loop to suit your needs.<br />+
-Also called NET_GetMessage().+
 +The function will keep returning messages until it returns "", which indicates no more new messages.
== Parameters == == Parameters ==
- 
{| {|
-| '''WORD''' connection || The connection identifier.+| '''WORD''' connection || - The connection identifier.
|- |-
-| [byte includeseparator] || When true, the separator will be added to the message at the end. When false, it won't. Default is true.+| ['''BYTE''' includeseparator] || - When true, the separator will be added to the message at the end. When false, it won't. Default is true.
|} |}
 +Also called NET_GetMessage().
== Returns == == Returns ==
- 
'''INT''' : [[NET_ERRORCODES|Network.DLL Errorcode]] '''INT''' : [[NET_ERRORCODES|Network.DLL Errorcode]]
{| {|
-| "" || There was an error or no message.+| "" || - There was an error or no message.
|- |-
-| !"" || The message (string). It appears this can also be a byte, word or integer. Just make sure the other peer sent it like it was received.+| !"" || - The message (string). It appears this can also be a byte, word or integer. Just make sure the other peer sent it like it was received.
|} |}
-== Example ==+== Notes ==
 +It is best to put this function in a frameless loop, like so:
 +<pre>
 +msg = NET_Recv(conn_c);
 +Repeat
 + say("Incoming(" + conn_c + "): " + msg);
 + msg = NET_Recv(conn_c);
 +Until(len(msg)<=0)
 +</pre>
 +This way it will still return "" if "" was indeed sent. If you don't need this or you have some other reason, you can change the loop to suit your needs, like:
 +<pre>
 +while(len(msg = NET_Recv(conn_c))>0)
 + say("Incoming(" + conn_c + "): " + msg);
 +End
 +</pre>
 +== Example ==
<pre> <pre>
Program example; Program example;
Line 51: Line 62:
Loop Loop
If(NET.Incoming[netid]) If(NET.Incoming[netid])
- While( (message = NET_GetMessage(netid)) !="" )+ While( (message = NET_Recv(netid)) !="" )
say("Incoming(" + netid + "): " + message); say("Incoming(" + netid + "): " + message);
End End
Line 60: Line 71:
End End
</pre> </pre>
 +
 +{{Netfuncbox}}

Current revision

Up to Network.DLL Functions



Contents

[edit] Definition

INT NET_Recv ( <WORD connection> , [<BYTE includeseperator>] )

Gets the waiting message on a certain connection.

The function will keep returning messages until it returns "", which indicates no more new messages.

[edit] Parameters

WORD connection - The connection identifier.
[BYTE includeseparator] - When true, the separator will be added to the message at the end. When false, it won't. Default is true.

Also called NET_GetMessage().

[edit] Returns

INT : Network.DLL Errorcode

"" - There was an error or no message.
 !"" - The message (string). It appears this can also be a byte, word or integer. Just make sure the other peer sent it like it was received.

[edit] Notes

It is best to put this function in a frameless loop, like so:

msg = NET_Recv(conn_c);
Repeat
    say("Incoming(" + conn_c + "): " + msg);
    msg = NET_Recv(conn_c);
Until(len(msg)<=0)

This way it will still return "" if "" was indeed sent. If you don't need this or you have some other reason, you can change the loop to suit your needs, like:

while(len(msg = NET_Recv(conn_c))>0)
    say("Incoming(" + conn_c + "): " + msg);
End

[edit] Example

Program example;
    include "Network.fh";
Private
    int netid;
    string message;
Begin

    NET_Init(0,10,1);
    netid = NET_Connect("www.google.com",80,true);
   
    Loop
        If(NET.Incoming[netid])
            While( (message = NET_Recv(netid)) !="" )
                say("Incoming(" + netid + "): " + message);
            End
        End
        frame;
    End

End


Network.DLL Functions
Global NET_Init() • NET_Quit() • NET_Version() • NET_IntVersion() • NET_About() • NET_GetError() • NET_Stat_Buffer() • NET_IntToIP() • NET_IPToInt()
Connections NET_Connect() • NET_Listen() • NET_Disconnect() • NET_DisconnectAll()
Connection NET_Resolve() • NET_Hostname() • NET_IPAddress() • NET_Port() • NET_Separator() • NET_GetSeparator() • NET_GetSeparatorLength()
Transfer NET_Recv() • NET_RecvFile() • NET_RecvGraph() • NET_RecvVar() • NET_Send() • NET_SendFile() • NET_SendGraph() • NET_SendRN() • NET_SendVar()
Personal tools