socket客户端判断是否连接到服务器,主要检测服务器端断开情况
public bool IsSocketConnected(Socket newclient)
{
try
{
byte[] tmp = new byte[1];
//int a= newclient.Receive(tmp);
int a = newclient.Send(tmp);
if (a == 1)
return true;
else
return false;
}
catch (SocketException e)
{
newclient.Close();
init();
//这里是重点,目的是重新 初始化,前面的close()把所有的资源都给干掉了
//newclient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
// ie = new IPEndPoint(IPAddress.Parse(ip), port);//服务器的IP和端口
//连接的时候失败一场里面也这么处理一遍
return false;
}
}