【发布时间】:2016-04-09 23:15:21
【问题描述】:
运行在 12321 端口的 echo 服务器很简单:
(define listener (tcp-listen 12321))
(define (mk-server)
(let echo-server ()
(define-values (in out) (tcp-accept listener))
(thread (λ () (copy-port in out)
(close-output-port out)))
(echo-server)))
documentation 有很多tcp-whatever 的函数,但它们都返回boolean? 或tcp-listener?;我不知道哪一个会给我连接客户端的 IP 地址。
super simple socket server example tutorial 也只提到处理客户端发送的数据。
以上示例中的端口in 将包含客户端发送的所有数据(标头等),但不包含关于客户端的元数据。
例如,在Factor 中,<server> 对象的accept 方法返回一个用于写入/读取的双向流,以及一个数据元组:
T{ inet4 { host "127.0.0.1" } { port 36150 } }
【问题讨论】: