Так что я пытаюсь узнать больше о TCP через F #, и когда я закрываю соединение со стороны слушателя через 1 секунду, он все еще показывает, что клиент подключен со стороны клиента.
Сервер:
open System.Net
open System.Net.Sockets
open System.Threading
let tcpListener = new TcpListener(IPAddress.Parse("127.0.0.1"), 1000)
let rec listen() =
printfn "Listening..."
let tcpClient = tcpListener.AcceptTcpClient()
printfn "Connected!"
Thread.Sleep(1000)
tcpClient.Close()
printfn "Disconnected."
listen()
tcpListener.Start()
listen()
Клиент:
open System
open System.Net.Sockets
open System.Threading
let connect() =
let tcpClient = new TcpClient("127.0.0.1", 1000)
printfn "Connected!"
let rec loop() =
Thread.Sleep(100)
let isConnected = tcpClient.Connected
if isConnected = false then
printfn "Disconnected."
else
loop()
Console.Read() |> ignore
connect()