TCP работает в GHCi, буферизуется до выхода из программы в программе, скомпилированной с помощью Leksah

StackOverflow https://stackoverflow.com/questions/5890054

Вопрос

Я написал этот простой прототип клиента для отправки команд на разрабатываемый мной сервер.Он отлично работает в GHCi, но скомпилированная версия буферизует все набранное до тех пор, пока я не наберу «выйти» и программа не завершится.В этот момент будет отправлен весь введенный текст.

Что я делаю не так?И почему он другой при компиляции?

Обновление: он работает должным образом, если скомпилирован с помощью ghc Main.hs.Проблема возникает при компиляции с помощью Leksah через Package -> Build.Кто-нибудь знает, как получить командную строку, которую использует Лексах?

Информация о системе: OSX 10.6, GHC 7.0.3, сеть 2.3.0.2

родовое слово
Это было полезно?

Решение 2

Хм, похоже, Лекса на самом деле не создавал приложение, как я думал.Должно быть, я выполнял старый код без вызова hSetBuffering.Чистка и восстановление разобрались.Приносим свои извинения и благодарим всех за ваше время и помощь.

edit: Нашел - на случай, если кто-то еще запутается в этом, при нажатии package-> build Leksah не генерирует скомпилированное приложение, если оно находится в режиме debug / ghci.

Другие советы

Leksah использует "cabal build", более старые версии - "runhaskell Setup build".

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top