Kimura Fuyuki
fuyuk****@nigre*****
2003年 12月 10日 (水) 10:17:42 JST
どこかで誰かが要望を出していたような気がするので、send/recvをサポート するパッチを作りました。テストとレビューをお願いします。 http://www.nigredo.org/fuyuki/sendrecv.patch (untabifyしたせいで無駄にパッチが大きくなっています) APIはpythonのものに近くなっていますが、全体的にあまり自信がありません。 こうしたほうがいいとか希望とかあったら教えてください。 Function: socket-send socket message &optional flags Function: socket-sendto socket message to &optional flags Function: socket-recv socket nbytes &optional flags Function: socket-recvfrom socket nbytes &optional flags pythonのほかにも、ruby, perl, guileのAPIを参照しました。 udp echoサーバとお話するコードはこんな感じになります。 (use gauche.net) (let ((sock (make-socket |PF_INET| |SOCK_DGRAM|)) (addr (make <sockaddr-in> :host :loopback :port 7))) (port-for-each (lambda (line) (socket-sendto sock line addr) (receive (msg from) (socket-recvfrom sock 1024) (print (sockaddr-name from) " " msg))) read-line)) 実行例。 $ date|gosh udpecho.scm 127.0.0.1:7 Wed Dec 10 09:26:52 JST 2003 -- 木村 冬樹