Пропащие Header-Ы

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by ronald, 22 Aug 2008.

  1. ronald

    ronald Elder - Старейшина

    Joined:
    27 Mar 2008
    Messages:
    252
    Likes Received:
    41
    Reputations:
    6
    так-с, пишу прогу по сокетам на с++. Натолкнулся а исходнег, а там #include <sys/types.h>
    #include <sys/socket.h>
    #include <etinet/in.h>
    и прочие Компилятор VS 2005 выдаёт на них ошипки.
    удаляю, ставлю другие : ошипки на write bind и прочее. Хэлп, плиз :какие хдэры нужны для сокетов,
     
  2. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    дык у тя исходник под gcc - Линуксовидный компилятор.
    Конечно если там нет никаких заморочек, то запросто можешь переписать на win32
    попробую заменить на их виндовые аналоги типа

    #include <winsock.h>;
    #include <windows.h>;
    #include <stdio.h>;
    #pragma comment (lib,"ws2_32")
     
    #2 slesh, 22 Aug 2008
    Last edited: 22 Aug 2008
  3. St0nX

    St0nX Elder - Старейшина

    Joined:
    19 May 2007
    Messages:
    257
    Likes Received:
    46
    Reputations:
    0
    или на #include <winsock2.h>
     
  4. ronald

    ronald Elder - Старейшина

    Joined:
    27 Mar 2008
    Messages:
    252
    Likes Received:
    41
    Reputations:
    6
    Исправил код сервера

    #include "stdafx.h"
    #include <winsock.h>;
    #include <windows.h>;
    #include <stdio.h>;
    #pragma comment (lib,"ws2_32")

    #define SRV_PORT 1234
    #define BUF_SIZE 64
    #define TXT_QUEST "Who are you?\n"
    main ()
    {
    int s, s_new;
    int from_len;
    char buf[BUF_SIZE];
    struct sockaddr_in sin, from_sin;
    s = socket (AF_INET, SOCK_STREAM, 0);
    memset ((char *)&sin, '\0', sizeof(sin));
    sin.sin_family = AF_INET;
    sin.sin_addr.s_addr = INADDR_ANY;
    sin.sin_port = SRV_PORT;
    bind (s, (struct sockaddr *)&sin, sizeof(sin));
    listen (s, 3);
    while (1) {
    from_len = sizeof(from_sin);
    s_new = accept (s, &from_sin, &from_len);
    write (s_new, TXT_QUEST, sizeof(TXT_QUEST));
    from_len = read (s_new, buf, BUF_SIZE);
    write (1, buf, from_len);
    shutdown (s_new, 0);
    close (s_new);
    };
    }
    проблемы с close, write и прочим, помогите плиз переделать
     
  5. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    проверить не могу но примерно так
    Code:
    #include "stdafx.h"
    #include <winsock.h>;
    #include <windows.h>;
    #include <stdio.h>;
    #pragma comment (lib,"ws2_32")
    
    #define SRV_PORT 1234 
    #define BUF_SIZE 64 
    #define TXT_QUEST "Who are you?\n" 
    main () 
    { 
    int s, s_new; 
    int from_len; 
    char buf[BUF_SIZE]; 
    struct sockaddr_in sin, from_sin; 
    s = socket (AF_INET, SOCK_STREAM, 0); 
    memset ((char *)&sin, '\0', sizeof(sin)); 
    sin.sin_family = AF_INET; 
    sin.sin_addr.s_addr = INADDR_ANY; 
    sin.sin_port = SRV_PORT; 
    bind (s, (struct sockaddr *)&sin, sizeof(sin)); 
    listen (s, 3); 
    while (1) { 
    from_len = sizeof(from_sin); 
    s_new = accept (s, &from_sin, &from_len); 
    send (s_new, TXT_QUEST, sizeof(TXT_QUEST),0); 
    from_len = recv (s_new, buf, BUF_SIZE,0); 
    send (1, buf, from_len,0); 
    shutdown (s_new, 0); 
    closesocket (s_new); 
    }; 
    }
    
     
  6. ronald

    ronald Elder - Старейшина

    Joined:
    27 Mar 2008
    Messages:
    252
    Likes Received:
    41
    Reputations:
    6
    ошибка с accept(
     
  7. _antony

    _antony Elder - Старейшина

    Joined:
    16 Jul 2008
    Messages:
    80
    Likes Received:
    43
    Reputations:
    0
    Code:
    #include "stdafx.h"
    #include <winsock.h>;
    #include <windows.h>;
    #include <stdio.h>;
    .............................
    send (1, buf, from_len,0);
    }; 
    
    вы чего вообще чтоли.
     
    #7 _antony, 22 Aug 2008
    Last edited: 22 Aug 2008
  8. t04

    t04 Elder - Старейшина

    Joined:
    10 Jan 2007
    Messages:
    137
    Likes Received:
    40
    Reputations:
    8
    send (1, buf, from_len,0);
    жесть....

    >>send (s_new, buf, from_len,0);
     
  9. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Сори за код который кидал, просто сменил имена функций и добавил параметр к send и recv както даже не обратил внимания что с самого начала чуть кривовато было. ;)
     
  10. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Касается roland, все коды в тегах [*code]
    ------
    Думаю вопрос решен и тему можно закрыть?....
     
  11. ronald

    ronald Elder - Старейшина

    Joined:
    27 Mar 2008
    Messages:
    252
    Likes Received:
    41
    Reputations:
    6
    кароч делит тему, буду искать курево)))