Haskell hGetLine和null字符

时间:2011-03-01 18:02:35

标签: haskell io

我有一个套接字服务器,它通过hGetLine等待来自连接的输入。当使用尾随换行符发送消息时,这非常有用。我想要的是每当收到换行符或空字符时从缓冲区中获取 - 将句柄的缓冲区模式设置为NoBuffering不会影响这一点,hGetLine仍会挂起,直到\ n出现。是否有一种简单的方法来容纳换行符和空终止符?

1 个答案:

答案 0 :(得分:1)

您可以使用hGetChar或hGetBufSome旋转自己的解决方案。我认为你可以通过hGetBufSome获得更好的吞吐量。但是,看起来hGetBufSome没有为Data.Text实现,所以你可能卡在System.IO中。

http://hackage.haskell.org/packages/archive/base/latest/doc/html/System-IO.html#v:hGetBufSome

祝你好运