Update
This commit is contained in:
@ -40,7 +40,7 @@ namespace DroneSimulator {
|
||||
IPEndPoint^ ep = gcnew IPEndPoint(IPAddress::Parse(Addr), Port);
|
||||
ServerSocket = gcnew Socket(AddressFamily::InterNetwork, SocketType::Stream, ProtocolType::Tcp);
|
||||
|
||||
try { ServerSocket->Connect(ep); }
|
||||
try { if (ServerSocket) ServerSocket->Connect(ep); }
|
||||
catch (...) { ServerSocket->Close(); return ClientState::Error; }
|
||||
|
||||
Connected = true;
|
||||
@ -49,7 +49,7 @@ namespace DroneSimulator {
|
||||
|
||||
ReceiveData^ receiveData = gcnew ReceiveData(DataServer->buffer, ServerData::size, ServerSocket);
|
||||
|
||||
try { ServerSocket->BeginReceive(DataServer->buffer, 0, ServerData::size, SocketFlags::None, gcnew AsyncCallback(this, &NetClient::ReadCallback), receiveData); }
|
||||
try { if (ServerSocket) ServerSocket->BeginReceive(DataServer->buffer, 0, ServerData::size, SocketFlags::None, gcnew AsyncCallback(this, &NetClient::ReadCallback), receiveData); }
|
||||
catch (...) {}
|
||||
|
||||
return ClientState::Connected;
|
||||
@ -58,9 +58,9 @@ namespace DroneSimulator {
|
||||
// Реализация метода Close
|
||||
void NetClient::Close()
|
||||
{
|
||||
try { ServerSocket->Shutdown(SocketShutdown::Both); }
|
||||
try { if(ServerSocket) ServerSocket->Shutdown(SocketShutdown::Both); }
|
||||
catch (...) {}
|
||||
ServerSocket->Close();
|
||||
if(ServerSocket) ServerSocket->Close();
|
||||
Connected = false;
|
||||
}
|
||||
|
||||
@ -69,7 +69,7 @@ namespace DroneSimulator {
|
||||
{
|
||||
if (ServerSocket != nullptr && Connected)
|
||||
{
|
||||
try { ServerSocket->Send(data); }
|
||||
try { if (ServerSocket) ServerSocket->Send(data); }
|
||||
catch (...) {}
|
||||
}
|
||||
}
|
||||
@ -86,7 +86,7 @@ namespace DroneSimulator {
|
||||
|
||||
if (bytes == 0)
|
||||
{
|
||||
ServerSocket->Close();
|
||||
if (ServerSocket) ServerSocket->Close();
|
||||
Connected = false;
|
||||
|
||||
if (ServerSocket != nullptr)
|
||||
@ -99,7 +99,7 @@ namespace DroneSimulator {
|
||||
|
||||
ReceiveCallback(gcnew ReceiveData(cd->Buffer, bytes, ServerSocket));
|
||||
|
||||
try { ServerSocket->BeginReceive(cd->Buffer, 0, ServerData::size, SocketFlags::None, gcnew AsyncCallback(this, &NetClient::ReadCallback), cd); }
|
||||
try { if (ServerSocket) ServerSocket->BeginReceive(cd->Buffer, 0, ServerData::size, SocketFlags::None, gcnew AsyncCallback(this, &NetClient::ReadCallback), cd); }
|
||||
catch (...) {}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user