shhyou / ypsilon-fork

Automatically exported from code.google.com/p/ypsilon
Other
0 stars 0 forks source link

Fatal error for get-bytevector-some on a client socket #141

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
When calling get-bytevector-some on a client port, the interpreter prints an 
error and exits:

Ypsilon 0.9.6-trunk/r503 Copyright (c) 2009 Y.Fujita, LittleWing Company 
Limited.
> (import (socket))
> (let ((p (socket-port (make-client-socket "www.example.com" "80"))))
  (put-bytevector p
                  (string->utf8
                   (string-append "GET / HTTP/1.1\r\n"
                                  "Host: www.example.com:80"
                                  "Connection: close\r\n"
                                  "\r\n\r\n")))
  (flush-output-port p)
  (let lp ()
    (unless (port-eof? p)
      (display (utf8->string (get-bytevector-some p)))
      (lp)))
  (close-port p))
src/port.cpp:1070 wrong port type

I believe this procedure could instead return as many bytes as a recv() or 
read() would return.

Original issue reported on code.google.com by weinh...@gmail.com on 22 Jul 2010 at 6:40