The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Проблема с recvd!!!!, !*! ForceMan, 17-Мрт-05, 14:10  [смотреть все]
   Проблема с использованием recvd:  после вызова она возвращает очень большие отрицательные числа!! Решил использовать вместо нее read - таже ситуация.  Не могу понять в чем дело! Помогите!
Вот кусок кода, где я ее вызываю:

#define SIZE_BUFFER 10

// Function for receive/transfer data between server and client
void client_process(int index_client, int result)
{
    char *buffer = new char[SIZE_BUFFER];
    char *buffer2 = new char[15];
    bool flag = true;
    
    while(flag)
    {
    int n = 0;
    int recvd = 0;
    while(n<SIZE_BUFFER)
    {
       //recvd = recv(result, buffer+n,SIZE_BUFFER-n, 0 );
       recvd = read(result, buffer + n, SIZE_BUFFER-n);
       printf("\nrecvd=%i", &recvd);
       if(recvd < 0)
       {
        printf("\nError receiving\n");
        flag = false;
        break;
       }
       else if(recvd == 0)
        {
            printf("\nError connection");
            flag = false;
            break;
        }
        else
        {
            
            n+=recvd;
            printf("\nBUFFER:%s", buffer);
            printf("\nn=%d", &n);
        }    
        
    }  
    }
    
Вот результат попытки через телнет отправить несколько символов:
Connection closed by foreign host.
igor# telnet 192.168.1.5 110
Trying 192.168.1.5...
Connected to igor.bashstat.
Escape character is '^]'.
1234567890qwerty

А на сервере:

# ./anti

recvd=-1077937720
BUFFER:1234567890
n=-1077937716
recvd=-1077937720
BUFFER:qwerty
90

  • Проблема с recvd!!!!, !*! ForceMan, 14:11 , 17-Мрт-05 (1)
    >   Проблема с использованием recvd:  после вызова она возвращает
    >очень большие отрицательные числа!! Решил использовать вместо нее read - таже
    >ситуация.  Не могу понять в чем дело! Помогите!

    Сорри - за опечатку - RECV

    • Проблема с recvd!!!!, !*! MaximKuznetsov, 19:47 , 17-Мрт-05 (2)
      >>   Проблема с использованием recvd:  после вызова она возвращает
      >>очень большие отрицательные числа!! Решил использовать вместо нее read - таже
      >>ситуация.  Не могу понять в чем дело! Помогите!
      >
      > Сорри - за опечатку - RECV
      У вас в коде :
      int recvd;
      ...
      printf("\nrecvd=%i", &recvd);
      А какие еще числа Вы хотели получить ?





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру