я задал вопрос о сигнале на окнах с тем же кодом, вот еще один вопросВ Haskell сокете не удалось на окнах
import IO
import Control.Exception hiding (catch)
import Control.Concurrent
import Network
main = withSocketsDo $ do {main'}
main' = listenOn (PortNumber 9900) >>= acceptConnections
acceptConnections sock = do
putStrLn $ "trying to accept" ++ (show sock)-- debug msg
[email protected](h,host,port) <- accept sock
print conn -- debug msg
forkIO $ catch (talk conn `finally` hClose h) (\e -> print e)
acceptConnections sock
talk [email protected](h,_,_) = hGetLine h >>= hPutStrLn h >> hFlush h >> talk conn
я запустить программу на win7, и это похоже на сокет, созданный успеха , но я не могу подключиться к telnet, а netstat не показывает никакого прослушивающего сокета с процессом, есть ли что-то не так? Или у haskell есть ошибка на окнах? (Кстати, на debian с этим кодом работает отлично)
Работает отлично для меня в ghci и при компиляции. Im на win7 64bit. Возможно, это что-то делать с настройками сети/брандмауэра? –
thks для вашего ответа, я нашел проблему и ответил ниже, но я до сих пор не знаю, почему ваша система работает нормально, может ли telnet на сервере получить эхо? – vzex