Я пытаюсь создать сервер TCP
в Haskell из примера, предоставленного haskell.org . Когда я запускаю код из терминала с ghc run Main.hs
, я получаю:
[1 of 1] Compiling Main ( Main.hs, Main.o )
Linking Main.exe ...
После чего он закрывается.
Код
module Main where
import Network.Socket
import Network.Socket.ByteString
import qualified Data.ByteString.Char8 as C
main::IO()
main=do
sock<-socket AF_INET Stream 0
bind sock (SockAddrInet 8100 iNADDR_ANY)
listen sock 2
mainloop sock
mainloop::Socket->IO()
mainloop sock=do
conn<-accept sock
runConn conn
mainloop sock
runConn::(Socket,SockAddr)->IO()
runConn (sock,_)=do
Network.Socket.ByteString.send sock (C.pack "hello")
close sock
Сначала я предположил, что сервер может каким-то образом работать в фоновом режиме, поэтому я протестировал его с расширением браузера Simple Web Socket Client
и nada.
Проверенный URL
ws://localhost:8100