因此,我试图通过F#了解更多关于TCP的信息,当我在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()发布于 2018-12-09 00:32:19
似乎您从未调用loop函数,因此它从未实际检查连接。
https://stackoverflow.com/questions/53688266
复制相似问题