我是新手,我试图在这里测试代码(它使用 Redis 事件循环)
但是当我向 127.0.0.1:8000 发出请求时,服务器不发送响应,它挂起。我需要做一些改变吗?我只需要回显请求,该示例打算这样做。
为什么你认为这个东西是 HTTP 服务器?它不是。它是一个损坏的 TCP 回显服务器。
它坏了,因为写操作不受事件循环的控制。如果非阻塞写操作不能发送所有字节(你没有这样的保证),一些字节将会丢失。
现在,如果您使用适当的客户端,仍然可以演示该程序:
$ telnet 127.0.0.1 8000
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
toto
toto
titi
titi
tutu
tutu
... while the output of the program itself is:
Accepted 127.0.0.1:48645
如果你想玩事件循环,我建议从以下列表中选择一个。它们可能比在 github 上发现的第一个随机 ae hack 记录得更好......