Very cute!

However, i'm curious about the choice of interface.   Having individual
ops for something like a socket API seems rather peculiar to me.  

Why do we not have an object oriented interface on a socket class?

(ditto for non-trivial file IO)

--Josh


At 6:45 on 10/30/2003 GMT, Melvin Smith <[EMAIL PROTECTED]> wrote:

> cvsuser     03/10/29 22:45:05
> 
>   Added:       examples/io http.imc
>   Log:
>   Sample to grab a home page through HTTP.
>   
>   Revision  Changes    Path
>   1.1                  parrot/examples/io/http.imc
>   
>   Index: http.imc
>   ===================================================================
>   # http client, connects to WWW port and grabs a page. 
>   # Be sure to set PARROT_NET_DEVEL to 1 in io/io_private.h
>   # and rebuld Parrot or the network layer won't exist
>   
>   .sub _main
>       .local pmc sock
>       .local string address
>       .local string buf
>       .local int ret
>       .local int len
>       print "Creating socket.\n"
>       # create the socket handle 
>       socket sock, 2, 1, 0
>       unless sock goto ERR
>       # Pack a sockaddr_in structure with IP and port
>       #sockaddr address, 80, "129.42.18.99"
>       sockaddr address, 80, "www.ibm.com"
>       print "Connecting to http://www.parrotcode.org:80\n";
>       connect ret, sock, address 
>       print "connect returned "
>       print ret 
>       print "\n"
>       send ret, sock, "GET /us/ HTTP/1.0\nUser-agent: Parrot\n\n" 
>       poll ret, sock, 1, 5, 0
>   MORE:
>       recv ret, sock, buf 
>       if ret < 0 goto END
>       print buf 
>       goto MORE 
>   ERR:
>       print "Socket error\n"
>       end
>   END:
>       close sock 
>       end
>   .end
>   
>   
>   
>   


Reply via email to