[(sm1.socket) key [args] ] extension result-object key : open, connect, accept, select, mselect, read, write, readByte, writeByte, close. Note that read and write are used for only string data. See also Kan/debug/server.sm1 (open) [portNumber hostname] ---> [fd0 portNumber] (accept) [fd0] ---> fd (connect) [portNumber hostname] -> [fd portNumber] (select) [fd time] ---> 1 (ready) or 0 if (time < 0) then it waits until data comes. (mselect) [[fd0 fd1 ... ] time] -> [s0 s1 s2 ... ] (read) [fd] ---> string-obj (write) [fd string-obj] ---> n-of-bytes-written (readByte) [fd] ---> data(byte) (writeByte) [fd data(byte)] ---> n-of-bytes-written (writeByte) [fd array_of_data]---> n-of-bytes-written (close) [fd] ---> status