Sockets 系统套接字自定义地址
我发现模块没有导出的构造函数。它只导出创建特定地址的函数。但是没有任何函数可以创建自定义函数,例如,Sockets 系统套接字自定义地址,sockets,haskell,Sockets,Haskell,我发现模块没有导出的构造函数。它只导出创建特定地址的函数。但是没有任何函数可以创建自定义函数,例如,“192.168.1.1” 如何创建自定义InetAddress 注 在新版本中,有一些纯函数可用于自定义地址: inetAddressFromTuple inetAddressToTuple 不理想,因为它在IO单子中运行,但您可以使用getAddressInfo: {-# LANGUAGE OverloadedStrings #-} import System.Socket import
“192.168.1.1”
如何创建自定义InetAddress
注 在新版本中,有一些纯函数可用于自定义地址:
inetAddressFromTuple
inetAddressToTuple
- 不理想,因为它在IO单子中运行,但您可以使用
getAddressInfo
:
{-# LANGUAGE OverloadedStrings #-}
import System.Socket
import System.Socket.Family.Inet
import System.Socket.Type.Stream
import System.Socket.Protocol.TCP
test = do (addr:_) <- getAddressInfo (Just "192.168.10.1") Nothing aiNumericHost :: IO [AddressInfo Inet Stream TCP]
return $ inetAddress (socketAddress addr)
{-#语言重载字符串}
导入系统套接字
导入System.Socket.Family.Inet
导入System.Socket.Type.Stream
导入System.Socket.Protocol.TCP
test=do(addr:)不理想,因为它在IO monad中运行,但您可以使用getAddressInfo
:
{-# LANGUAGE OverloadedStrings #-}
import System.Socket
import System.Socket.Family.Inet
import System.Socket.Type.Stream
import System.Socket.Protocol.TCP
test = do (addr:_) <- getAddressInfo (Just "192.168.10.1") Nothing aiNumericHost :: IO [AddressInfo Inet Stream TCP]
return $ inetAddress (socketAddress addr)
{-#语言重载字符串}
导入系统套接字
导入System.Socket.Family.Inet
导入System.Socket.Type.Stream
导入System.Socket.Protocol.TCP
我不喜欢在这里处理IO,但我想这是唯一的方法。谢谢我刚刚将纯函数inetAddressFromTuple
和inetAddressToTuple
添加到库中。你会发现新版本的Hackage。我不喜欢在这里处理IO,但我想这是唯一的方法。谢谢我刚刚将纯函数inetAddressFromTuple
和inetAddressToTuple
添加到库中。你会在Hackage上找到新版本。