-
Notifications
You must be signed in to change notification settings - Fork 0
/
BadClient.hs
48 lines (30 loc) · 933 Bytes
/
BadClient.hs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
{-# LANGUAGE OverloadedStrings #-}
-- A client that requests a connection,
-- but doesn't connect to the communication
-- port.
module Main where
import Data.Maybe
import Control.Monad
import Control.Applicative
import qualified Data.Text as T
import Data.Binary
import Data.Binary.Get
import Data.Binary.Put
import System.IO
import System.Environment
import Control.Concurrent.STM
import Control.Concurrent.Async
import Data.Connection
import Network.Socket hiding (close)
import System.IO.Streams.TCP (TCPConnection)
import qualified System.IO.Streams as SR
import qualified System.IO.Streams.TCP as TCP
import System.IO.Streams.Binary
main = do
{ (srv:prt:_) <- getArgs
; let pnum = (read prt) :: PortNumber
; conn <- TCP.connect srv pnum
; npn <- fromIntegral <$> fromJust <$> (getFromStream getWord16le $ source conn)
; putStrLn $ "New port number is " ++ (show npn)
}
-- asdfzxcv