Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 22.08.2010, 17:13   #1
Pumych
 
Регистрация: 22.08.2010
Сообщений: 5
По умолчанию [c++] Client-Server: GET request refused by the server

Пишу Client-Server (Ubuntu), имеется рабочая версия для проверки.
Запустил сервер,
-------------
Код:
vitaly@vitaly-laptop:~/Desktop$ ./ft 10000
In ServerCMD
-------------
при попытке послать файл из рабочего клиента
-------------
Код:
vitaly@vitaly-laptop:~/Desktop$ ./ft_ localhost 10000 doc -o new_doc
send_request: read() failed (receiving a GET reply from the server): Connection refused
cl_main: GET request refused by the server
-------------
Код:
/**************/
/* Server     */
/**************/
 
int ServerCMD(int argc, char* argv[]){
        cout << "In ServerCMD\n";
 
        int serversock, clientsock, received;
        struct sockaddr_in echoserver, echoclient;
        int msg_size = 1400;    /* Amount of file's  data in each outgoing message (in Bytes) */
        int interval = 1;               /* Amount of time (in Milisecs) to elapse between sending 2 consecutive messages */
        bool put = false;               /* Flag put */
        char saveAs[] = "";             /* Filename to savewith */
        char* buffer = new char[BUFFSIZE];      /* Buffer pointer */
        int listening;                  /* Client listening */
        
        switch(argc){
        case 6:
                if (!isFlag(argv[4]))
                        exitMe();
                checkFlag(4, argv, &msg_size, &interval, &put, saveAs);
        case 4:
                if (!isFlag(argv[2]))
                        exitMe();
                checkFlag(2, argv, &msg_size, &interval, &put, saveAs);
        case 2:
                break;
        default:
                cout << "in default.\n";
                exitMe();
                break;
        }
 
        
        /* Create the TCP socket */
        if ((serversock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0){
                die("Failed to create socket\n");
        }
 
        /* Construct the server sockaddr_in structure */
        memset(&echoserver, 0, sizeof(echoserver));             /* Clear struct */
        echoserver.sin_family = AF_INET;                                /* Internet/IP */
        echoserver.sin_addr.s_addr = htonl(INADDR_ANY); /* local addr */
        echoserver.sin_port = htons(atoi(argv[1]));             /* server port */
        
        /* Bind the server socket */
        if (bind(serversock, (struct sockaddr *) &echoserver, sizeof(echoserver)) < 0)
                die("Failed to listen on server socket\n");
        
        listening = listen(serversock, 32);     
        /* Run until cancelled */
        while(1) {
                unsigned int clientlen = sizeof(echoclient);
 
                /* Wait for client connection */
                if ((clientsock = accept(serversock, (struct sockaddr *) &echoclient, &clientlen)) < 0)
                        die("Failed to accept client connection\n");
                fprintf(stdout, "Client connected: %s\n", inet_ntoa(echoclient.sin_addr));
 
                /* handle a client */
 
                /* Recive message */
                if ((received = recv(clientsock, buffer, BUFFSIZE, 0)) < 0)
                        die("Failed to recive initial bytes from client");
 
                /* Send bytes and check for more incoming data in loop */
                while (received > 0) {
                        /* Send back received data */
                        if (send(clientsock, buffer, received, 0) != received)
                                die("Failed to send bytes to client");
 
                        /* Check for more data */
                        if ((received = recv(clientsock, buffer, BUFFSIZE, 0)) < 0)
                                die("Failed to recive additional bytes from client");
                        
                }
                
                if (close(clientsock) < 0)
                        die("Close");
 
        }
 
        return 0;
}
-------------
Помогите п-ста найти проблему (мы)
Рабочая версия приложена (ft_.zip)
Мой полный код приложен (ft.txt)
Вложения
Тип файла: zip ft_.zip (14.8 Кб, 7 просмотров)
Тип файла: txt ft.txt (7.6 Кб, 119 просмотров)
Pumych вне форума Ответить с цитированием
Старый 22.08.2010, 23:21   #2
Pumych
 
Регистрация: 22.08.2010
Сообщений: 5
По умолчанию

Уважаемые модераторы, может быть этот вопрос можно перенести в другой форум где на него смогут дать ответ?
Pumych вне форума Ответить с цитированием
Старый 22.08.2010, 23:36   #3
Pumych
 
Регистрация: 22.08.2010
Сообщений: 5
По умолчанию

Можно попросить платную помощь в пределах разумного для студента? Если да то пишите п-ста в личку.
Pumych вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AVT Server/Client Connecting Control ЖенёкСупер Microsoft Office Excel 1 10.06.2010 20:23
Client-Server на 500+ пользователей. Mixasik Работа с сетью в Delphi 8 22.08.2008 12:01
Помогите разобраться с client-server fLytarget Работа с сетью в Delphi 2 11.08.2008 16:00
Client и Server Роман Радер Работа с сетью в Delphi 11 10.07.2008 15:24
Client - Server Socket событие OnError One.Love Работа с сетью в Delphi 10 04.03.2008 10:39


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS