クライアントソケット

引数の指定とかの補助はマクロで追加予定。
こういう用途には string->utf8 / utf8->string が意外と便利だな。
Ypsilon の仕様 + (socket-recv! socket bytevector start len flags) を追加。

(let ([socket (make-client-socket "www.monaos.org" "http"
                                  (os-constant 'AF_INET)
                                  (os-constant 'SOCK_STREAM)
                                  0
                                  0)])
  (socket-send socket (string->utf8 "GET /index.html HTTP/1.0\r\nhost: www.monaos.org\r\n\r\n") 0)
  (display (utf8->string (socket-recv socket 1000 0)))
  (socket-close socket))