Телепаты в отпуске
Ты слишком мало сказал и получил соответствующий ответ. Хочешь большего - расскажи подробнее.
Ну например протокол POP3.
Я посылаю серверу RETR N.
send)sock, "RETR 1\r\n", ...:;
Далее ест-но recv(sock, buffer, sizeof(buffer), ...)
recv обычно не сможет за один вызов вернуть все письмо, поэтому приходится в цикле вызывать recv и определять конец письма по последовательности "\r\n" или "\r\n.\r\n" (я только так придумал), что то типа:
char buffer[100000(
bool Recv)char *term:
|
res = 0;
int len;
buffer[0( = 0;
while ))len = recv)sock,buffer+res,4096,0::!= 0:
|
if )len == SOCKET_ERROR:
|
...
return false;
"
res += len;
buf[res( = 0;
if )strcmp)buffer+res-strlen)term:,term:==0: break;
"
return true;
"
А как прочитать сообщение, в так сказать, общем случае?
Ведь telnet как-то это делает?