我需要通过tcpclient通过此代码发送错误列表
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
中停止发送数据?
答案 0 :(得分:0)
您应该稍等一下,然后阅读您发送的数据的响应。 如果服务器确认然后它没问题(响应= 0),如果没有停止发送。
答案 1 :(得分:0)
SendMessage()
是你自己的方法,对吗?检查其中的socket.Send()
是否返回0个字节。这意味着套接字已断开连接。