Skip to content

Instantly share code, notes, and snippets.

@sbuggay
Created April 10, 2018 06:01
Show Gist options
  • Save sbuggay/dbfadd8bd562b8b9f65bc6418b64a42b to your computer and use it in GitHub Desktop.
Save sbuggay/dbfadd8bd562b8b9f65bc6418b64a42b to your computer and use it in GitHub Desktop.
import Control.Concurrent (forkIO, threadDelay)
import Control.Monad (forever)
import qualified Data.ByteString.Char8 as C
import Network.Socket hiding (recv)
import Network.Socket.ByteString (recv, sendAll)
packetData = C.pack $ [0xFF] ++ "TSourceQuery"
sendMessage :: IO ()
sendMessage = do
addrinfos <- getAddrInfo Nothing (Just "64.187.164.78") (Just "27015")
let serveraddr = head addrinfos
sock <- socket (addrFamily serveraddr) Datagram defaultProtocol
print serveraddr
connect sock (addrAddress serveraddr)
print packetData
sendAll sock $ packetData
recv sock 4096 >>= \message -> print ("UDP server received: " ++ (C.unpack message))
close sock
main :: IO ()
main = do
sendMessage
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment