1

我是新手,我试图在这里测试代码(它使用 Redis 事件循环)

但是当我向 127.0.0.1:8000 发出请求时,服务器不发送响应,它挂起。我需要做一些改变吗?我只需要回显请求,该示例打算这样做。

4

1 回答 1

2

为什么你认为这个东西是 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 记录得更好......

于 2013-08-04T15:48:45.983 回答