2013-08-04 170 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砍多少更好地記錄......