워프/WAI 응용 프로그램에서 작동하지 않는 그것을 실행으로 나는 콘솔에 로그인 할 것으로 예상에 "에코 서버"를 작성했습니다 :터미널 IO 내가 WebSocket을 만지작있어
echo = Warp.run 3000 app
where
app = WS.websocketsOr
WS.defaultConnectionOptions
wsApp
httpApp
httpApp _ respond = do
put "HTTP Request Recieved"
respond $ Wai.responseFile
Http.status200
[]
"web/index.html"
Nothing
wsApp :: WS.ServerApp
wsApp pendingConn = do
conn <- WS.acceptRequest pendingConn
WS.forkPingThread conn 30
put "WebSocket Connection Open"
listen conn
listen :: WS.Connection -> IO()
listen conn = forever $ do
str <- WS.receiveData conn :: (IO Text.Text)
put $ Text.unpack str
WS.sendTextData conn str
main :: IO()
main = do
put "Echo WebSocket Running ..."
echo
put str = hPutStrLn stdout str >> hFlush stdout
당신이 할 수 보십시오, 플러시를 시도했습니다 stdout
하지만 성공하지 못했습니다. 나는
$ ./echoServer
Echo WebSocket Running ...
하지만 더 이상 얻을 수 없다. 브라우저에서 "web/index.html"을 성공적으로로드하고 WebSocket에 대한 연결을 성공적으로 설정하여 사용하더라도 콘솔에서 아무런 피드백도받지 못합니다.
콘솔로 출력하려면 어떻게해야합니까?
라이브러리 버전 :
- Warp : 3.2.13
- WAI : 3.2.1.1
- wai-websockets : 3.0.1.1
- WebSocket을 : 0.12.2.0