Advertisement
Guest User

Untitled

a guest
Apr 20th, 2015
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
F# 0.93 KB | None | 0 0
  1. open System.Net.Sockets
  2.  
  3. let BToStr data len = System.Text.Encoding.ASCII.GetString(data, 0, len)
  4. type System.IO.BinaryReader with
  5.     member reader.ReadStringB () =
  6.         let len = int(reader.ReadByte())
  7.         let data = Array.create (len) 0uy
  8.         BToStr data (reader.Read(data, 0, len))
  9.     member reader.ReadStringI () =
  10.         let len = reader.ReadInt32()
  11.         let data = Array.create (len) 0uy
  12.         BToStr data (reader.Read(data, 0, len))
  13.  
  14. type Message = {ChatName:string; Sender:string; Message:string}
  15. let stream = (new TcpClient("home.justinharper.me", 6969)).GetStream()
  16. let reader = new System.IO.BinaryReader(stream)
  17.  
  18. let ReadMessage stream = {ChatName=reader.ReadStringB(); Sender=reader.ReadStringB(); Message=reader.ReadStringI()}
  19.  
  20. stream.Write([|byte 1|], 0, 1)
  21. while true do
  22.     match stream.ReadByte() with
  23.     | 1 -> printfn "Server pong"
  24.     | 2 -> printfn "%A" (ReadMessage stream)
  25.     | _ -> ()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement