Показать сообщение отдельно

  #3715  
Старый 09.09.2009, 23:33
Hiro Protagonist
Участник форума
Регистрация: 26.08.2009
Сообщений: 133
С нами: 8795069

Репутация: 79
По умолчанию

2Gin

PHP код:

//Резервируем и выделяем побайтно память
        
buffer = (char *)VirtualAlloc(NULL1000MEM_RESERVEPAGE_READWRITE);
        
buffer = (char *)VirtualAlloc(buffer1MEM_COMMITPAGE_READWRITE);        

        
//Читаем из сокета побайтно, чтобы быть уверенными, что вся инфа дошла
        
while(recv(sRemoteSock, &buffer[i], 10))
        {
            
//Если встретили перевод строки, то ппц конец передачи
            
if(buffer[i] == '\n')
            {
                
buffer[i] = '\0';
                
printf("[>] Client say : %s\n"buffer);
                
                
VirtualFree(bufferMEM_RELEASE);
                
0;
                break;             
            }
            else
            {
                
//Выделяем ещё один байт
                
buffer = (char *)VirtualAlloc(buffer i++ + 11MEM_COMMITPAGE_READWRITE);
            }
        } 
Как то так ) Тут концом сообщения считается перевод строки (можно переделать). Можно в принципе поблочно считывать, а не побайтно.
 
Ответить с цитированием