Concept Framework 1.0 documentation Contents | Index

standard.net.socket.SocketRead

Name Version Deprecated
SocketRead version 1.0 no

Prototype:
number SocketRead(number socket, var buffer, number size,[, bSocketIsUDP=false[, bReceiveExactSize=false]])

Parameters:
socket      a valid and socket descriptor, as returned by SocketCreate
buffer      the buffer to fill with retrieved data (any variable, will be allocated by the function)
size      the maximum amount of data to read
bSocketIsUDP      must be set to true only for UDP sockets
bReceiveExactSize      if set to true, packets will be waited, until the buffer will have exactly size octets (default is false).

Description:
Receives data from a connected socket.

Example:
import standard.net.socket

import standard.lang.cli
import standard.C.io

define DEFAULT_ADDRESS "www.yahoo.com"
define DEFAULT_PORT 80
define MAX_SIZE 0xFFFF

class Main {
function Main() {
// get the command line arguments
var args=CLArg();
var host=DEFAULT_ADDRESS;
var port=DEFAULT_PORT;

if (length args) {
host=args[0];
if (args[1])
port=value args[1];
}

var s=SocketCreate();

echo "Connecting ... ";
if (SocketConnect(s, host, port)==-1) {
echo "Couldn't Connect to $host on port $port: "+SocketError(s)+"\n";
return 0;
}

echo "Connected !\n";

SocketWrite(s, "GET /\r\n\r\n");

// try to read exactly MAX_SIZE bytes (the server will disconnect us)
SocketRead(s, var data, MAX_SIZE, false, true);

WriteFile(data, host+".html");

SocketClose(s);
}
}

Returns:
Returns -1 if failed, or the amount of data read if succeeded.

Documented by Eduard Suica, generation time: Thu Oct 15 20:02:05 2009 GMT(c)2009 RadGs Software