运行websockets Haskell示例,如下所示,显然不起作用,因为没有主要功能。
运行ghc --make Main.hs -o Main确认
Meow功能需要websockets连接。如何打开连接?
使用的库是https://github.com/jaspervdj/websockets。
{-# LANGUAGE OverloadedStrings #-}
import Control.Monad (forever)
import qualified Data.Text as T
import qualified Network.WebSockets as WS
meow :: WS.Connection -> IO ()
meow conn = forever $ do
msg <- WS.receiveData conn
WS.sendTextData conn $ msg `T.append` ", meow"
答案 0 :(得分:2)
如果您查看示例文件夹:
https://github.com/jaspervdj/websockets/blob/master/example/client.hs
main = withSocketsDo $ WS.runClient&#34; echo.websocket.org&#34; 80&#34; /&#34;应用
app类型为app :: WS.ClientApp ()
,是Connection -> IO a
runClient
将为您打开套接字连接。如果您想知道如何,请查看函数的来源(https://hackage.haskell.org/package/websockets-0.9.3.0/docs/src/Network-WebSockets-Client.html#runClient)。
另外,withSocketDo
属于socket
。您可以在此处找到解释:https://hackage.haskell.org/package/network-2.6.0.2/docs/Network-Socket.html#v:withSocketsDo
此处还有其他示例:http://jaspervdj.be/websockets/example.html
我还没有使用websocket
,回答不熟悉的主题通常不是一个好主意。希望得到一些帮助。