Добро пожаловать!Ответ кода статуса FTP не работает
У меня есть небольшая проблема с собственным приложением. Это приложение может быть подключено (sith socket) к FTP-серверу, и его работа прекрасна. Но моя проблема в том, что если пользователь использует плохой usernam или пароль, программа не получит ответ statucode. Что не так? Я хотел бы использовать эту StatusCode некоторый пункт для изучения (usernem или/и пароль и т.д.) Код:
public static void ReadResponse()
{
result = ParseHostResponse();
statusCode = int.Parse(result.Substring(0, 3));
statusMessage = "";
}
ParseHostResponse() метод содержит следующий: Код:
public static string ParseHostResponse()
{
SocketAsyncEventArgs socketEventArg = new SocketAsyncEventArgs();
socketEventArg.RemoteEndPoint = socket.RemoteEndPoint;
socketEventArg.SetBuffer(buffer, BUFFER_SIZE, 0);
socketEventArg.Completed += new EventHandler<SocketAsyncEventArgs>(delegate(object s, SocketAsyncEventArgs e)
{
if (e.SocketError == SocketError.Success)
{
statusMessage = Encoding.UTF8.GetString(e.Buffer, e.Offset, e.BytesTransferred);
statusMessage = statusMessage.Trim('\0');
}
else
{
statusMessage = e.SocketError.ToString();
}
});
socket.ReceiveAsync(socketEventArg);
string[] msg = statusMessage.Split('\n');
if (statusMessage.Length > 2)
{
statusMessage = msg[msg.Length - 2];
}
else
{
statusMessage = msg[0];
}
if (!statusMessage.Substring(3, 1).Equals(" "))
{
return ParseHostResponse();
}
return statusMessage;
}
Если Я приглашаю к методу ReadResponse(), ответ Visual Studio с этим исключением: NullReferenceException
в этом коде: Код:
.
.
string[] msg = statusMessage.Split('\n');
.
Что случилось? Этот выпуск кода к http://msdn.microsoft.com/en-us/library/hh202858%28v=vs.92%29.aspx#BKMK_RECEIVING
Благодарим за помощь!