(rontolisp) docs
← 関数

usocket:socket-stream usocket:socket-close

(usocket:socket-stream socket) -- (usocket:socket-close socket)

socket-stream はソケットに対応するストリームを返し、socket-close は フラッシュして閉じます。このシムではソケットはストリームハンドルそのもの (rontolisp:tcp-* のハンドルはファイルストリームとハンドル空間を共有) なので、socket-stream は恒等関数です -- (read-line (usocket:socket-stream sock)) のようなポータブルな usocket コードがそのまま動くために存在します -- そして socket-closeclose です。

(let ((stream (usocket:socket-stream sock)))
  (write-line "ping" stream)
  (print (read-line stream))
  (usocket:socket-close sock))

バックエンドごとの対応

  • インタープリタJVMWASM コンポーネント: ソケット自体が動く ところならどこでも(socket-stream は純粋関数なのでどこでも動きます)。
  • ブラウザプレイグラウンド: socket-stream は動きますが、ソケットは 非対応です。