2013-08-04 177 views
1

我是个新手,我试图测试代码here(使用Redis的事件循环)HTTP服务器

但是,当我主动要求127.0.0.1:8000,服务器不发送响应,它挂起。我需要做一些改变吗?我只需要回应这个请求,这个例子就是这样做的。

回答

1

你为什么认为这个东西是一个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砍多少更好地记录......