C# 如何检测断开以通过tcpclient完成数据发送
我需要用这个代码通过tcpclient发送一个错误列表C# 如何检测断开以通过tcpclient完成数据发送,c#,networking,tcpclient,C#,Networking,Tcpclient,我需要用这个代码通过tcpclient发送一个错误列表 private bool TryConn(out TcpClient cliente) { var client = new TcpClient(); try { client.Connect(IpAddress, PortNumber); cliente = client; return true; } catch { clie
private bool TryConn(out TcpClient cliente)
{
var client = new TcpClient();
try
{
client.Connect(IpAddress, PortNumber);
cliente = client;
return true;
}
catch
{
cliente = null;
return false;
}
}
public void ProcesssRecovery()
{
//NonMassiveErrorerror= new NonMassiveError();
TcpClient client;
//get error
IEnumerable<NonMassiveError> errorNotNotified = GetUncheckedNonMassiveError();
//check if lista is not empty
if (errorNotNotified .Count() >0 )
{
// check connection
if (TryConn(out client))
{
foreach (NonMassiveError error in errorNotNotified )
{ // sending error<--how detect conn stops
SendMessage(error, client, "asin" , "");
error.Save();
}
}
}
//stop thread 10mins
else
{
Thread.Sleep(TimeSpan.FromMinutes(10));
}
}
}
如何检查foreach中的连接是否中断以停止发送数据 您应该稍等片刻,然后读取对发送的数据的响应。
如果服务器确认,则为okResponse=0,如果不停止发送。您应该稍等片刻,然后读取对所发送数据的响应。 如果服务器确认,那么它是okResponse=0,如果不停止发送。SendMessage是您自己的方法,对吗?检查socket.Send是否返回0字节。这意味着套接字已断开连接。SendMessage是您自己的方法,对吗?检查socket.Send是否返回0字节。这意味着插座断开了