Я бы сначала проверил ваш объект подключения, чтобы убедиться, что вы подключены, прежде чем пытаться отправить сообщение. Также убедитесь, что вы используете свою логику отправки внутри try-catch, так что если вам случится отключиться в середине передачи, вы сможете возобновить работу, не разрывая ваше приложение.
псевдопользователей-код:
private void SendMessage(string message, Socket socket)
{
if(socket.connectionState = States.Connected)
{
try{
// Attempt to Send
}
catch(SocketException Ex)
{
// Disconenct, Additional Cleanup Etc.
}
}
}
Если вы находитесь в C #, до изменения состояния вашего соединения у вас будет запуск события отключения от сокета до изменения состояния вашего соединения. Убедитесь, что вы связали это событие, как только ваш сокет подключится.