blob: 4bb9dcbdbfcf417892ded82ebf15819dfd27ec12 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#!/usr/bin/env open-axiom
-- This little script is a simple example of how to use
-- the client socket domain in OpenAxiom.
-- It connects to a time server, read the time and print it
-- on the standard output.
-- Contributed by Gabriel Dos Reis.
s := connectTo(host "time-a.nist.gov", port 13)$INETCLTS
-- Give up if conection failed. We try only once.
s case nothing =>
print message("connection failed")$OutputForm
-- Read initial linefeed character
readByte! s case nothing =>
messagePrint("could not read first linefeed character")$OutputForm
text := empty()$ByteBuffer -- container of the actual line
buf := byteBuffer 256 -- temporary buffer to read into
-- Accumulate data until end of input.
while readBytes!(s::INETCLTS,buf) > 0 repeat
text := concat(text,buf)
close! s
-- Show what we got. We should actually try to remove last
-- linefeed character.
messagePrint(text::String)$OutputForm
|