Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2009, 13:42   #1
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию работа с pop сервером

Решил написать небольшую программу для проверки почты на вин апи. Но возникла трудность. После первой же команды, посылаемой серверу ( USER user@mail.ru ) он мне возвращает "-ERR" неизвестная команда.

Хотя та же самая строчка посланая через telnet возвращает "+OK".

Написал небольшой сервер, чтобы посмотреть, что отсылается - строка посылается полностью.
А теперь вопрос Что посылает телнет кроме самой введенной строки, чего нет у меня ?

Сам код почти полностью слизан из msdn.

Код:
char *user = "USER user@mail.ru\r\n";


iResult = send( ConnectSocket, user, strlen(user), 0 );
if (iResult == SOCKET_ERROR) 
{
	printf("send failed: %d\n", WSAGetLastError());
	closesocket(ConnectSocket);
	WSACleanup();
	return 1;
}
printf("Послано байт: %d\n", iResult);

if (!Recvest())
	return 1;
printf("<%s",recvbuf);
Код:
bool Recvest()
{
    // Receive until the peer closes the connection
	iResult = recv(ConnectSocket, recvbuf, recvbuflen, 0);
	if ( iResult > 0 )
	{
		recvbuf[iResult] = '\0';
		printf("Принято байт: %d\n", iResult);
		return true;
	}
	else if ( iResult == 0 )
	{
		printf("Connection closed\n");
		return false;
	}
	else
	{
		printf("recv failed: %d\n", WSAGetLastError());
		return false;
	}
}
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4

Последний раз редактировалось Goodwin98; 27.12.2009 в 18:40.
Goodwin98 вне форума Ответить с цитированием
Старый 27.12.2009, 17:06   #2
bondik
Форумчанин
 
Регистрация: 24.04.2008
Сообщений: 300
По умолчанию

может с кодировками чтото?
bondik вне форума Ответить с цитированием
Старый 27.12.2009, 17:18   #3
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Так ANSI латиница. Вроде даже посмотреть не на что...
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 27.12.2009, 23:38   #4
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Разобрался. Нужно было сразу после соединения принимать строку о готовности, а я перед этим еще серверу посылал.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь. Работа с удаленным сервером. xDsssw PHP 4 01.12.2009 03:02
работа с Com-сервером Gigantis Помощь студентам 2 03.07.2009 13:35
Работа с Mistrosoft SQL сервером JUDAS БД в Delphi 0 21.02.2009 16:50
работа с сервером через ssh running_man Работа с сетью в Delphi 5 21.01.2009 20:59
pop.gmail.com -- STAT MAcK Общие вопросы .NET 2 07.11.2008 10:07