C# 如何将TCP套接字置于等待状态
在我的应用程序中,我使用一个System.Threading.Timer,它每3秒就响一次,并建立到服务器的tcp套接字连接,然后向服务器发送一个映像文件。目前,在每次计时器滴答声事件中,我都会与服务器建立TCP连接,然后发送数据 我的问题是,我是否可能只进行一次连接,并在计时器计时时发送文件,如果是,那么我如何将服务器置于等待状态,以等待新数据到达 这是我的服务器端代码片段C# 如何将TCP套接字置于等待状态,c#,sockets,tcp,C#,Sockets,Tcp,在我的应用程序中,我使用一个System.Threading.Timer,它每3秒就响一次,并建立到服务器的tcp套接字连接,然后向服务器发送一个映像文件。目前,在每次计时器滴答声事件中,我都会与服务器建立TCP连接,然后发送数据 我的问题是,我是否可能只进行一次连接,并在计时器计时时发送文件,如果是,那么我如何将服务器置于等待状态,以等待新数据到达 这是我的服务器端代码片段 client = listeningSocket.Accept();
client = listeningSocket.Accept();
Task.Factory.StartNew(() =>
{
try
{
//code to receive client data.
}
catch (Exception ex)
{
}
}
}, TaskCreationOptions.LongRunning);
谢谢。
client.Receive(..)
或使用client.GetStream()
作为网络流
作为等待ReadAsync()
我知道这一点。我的意思是,当没有数据来自客户端时,如何将服务器置于等待状态,等待新数据到达,而不是断开套接字并再次连接。client.Receive()
正在阻塞。这意味着它将等待直到收到数据。你需要接受才能知道什么都不会发生。这是等待状态。不要使用任何可用的数据等。。。