packages feed

network-run-0.6.0: examples/udpServer.hs

module Main (main) where

import Control.Monad (forever, unless, void)
import qualified Data.ByteString as S
import Network.Run.UDP (runUDPServer)
import Network.Socket.ByteString (recvFrom, sendTo)

main :: IO ()
main = runUDPServer (Just "127.0.0.1") "3000" $ \sock -> forever $ do
    (msg, peer) <- recvFrom sock 2048
    unless (S.null msg) $ void $ sendTo sock msg peer