Ana*_*Ana 5 sockets macos haskell
我今天尝试从Haskell"Simple Servers"维基页面运行一些示例代码:
import Network
import Control.Concurrent
import System.IO
main = withSocketsDo $ do
sock <- listenOn $ PortNumber 5002
loop sock
loop sock = do
(h,_,_) <- accept sock
forkIO $ body h
loop sock
where
body h = do
hPutStr h msg
hFlush h
hClose h
msg = "HTTP/1.0 200 OK\r\nContent-Length: 5\r\n\r\nPong!\r\n"
Run Code Online (Sandbox Code Playgroud)
我在装有El Capitan的Mac上做这个.
当我尝试使用httperf网页上指示的方式运行此代码时,我在控制台上收到以下错误消息:
ep1: <socket: 29>: hPutChar: resource vanished (Broken pipe)
ep1: <socket: 29>: hPutChar: resource vanished (Broken pipe)
ep1: <socket: 29>: hPutChar: resource vanished (Broken pipe)
ep1: <socket: 29>: hPutChar: protocol error (Protocol wrong type for socket)
Run Code Online (Sandbox Code Playgroud)
不同的运行将给出不同数量的这些消息.我做错了什么,这是一个错误,还是这种正常的预期行为?