我寫了這個簡單的原型客戶端發送命令到我正在開發的服務器。它可以在GHCi中完美運行,但編譯後的版本會緩存輸入的所有內容,直到我輸入「quit」並退出程序。那時所有的輸入文本都會被髮送。TCP在GHCi中工作,緩存直到程序退出程序編譯與Leksah
我在做什麼錯?爲什麼編譯時會有所不同?
更新:如果使用ghc Main.hs
進行編譯,它可以正常工作。當通過軟件包 - >編譯與Leksah編譯時發生問題。任何人都知道如何獲得Leksah正在使用的命令行?
系統信息:OSX 10.6,GHC 7.0.3網絡2.3.0.2
module Main (
main
) where
import System.IO
import Network
main = do
hServer <- connectTo "localhost" (PortNumber 7000)
hSetBuffering hServer NoBuffering
loop hServer
hClose hServer
where loop :: Handle -> IO()
loop hServer = do
s <- getLine
hPutStrLn hServer s
case s of "quit" -> return()
otherwise -> loop hServer
適合我。 ghc-7.0.3,網絡-2.3.0.2,OS X 10.6。你可以包含你的系統/ haskell平臺版本嗎? – 2011-05-04 23:27:26
歡呼@John - 我已更新問題 – 2011-05-05 03:50:08
對Leksah的+1。我們需要更多關注這個獨特的Haskell IDE。 – 2011-05-05 04:25:14