我是新手,我正在尝试测试代码here(使用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黑客要好得多...
关于c - HTTP服务器与Redis事件循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18042415/