Winsock: Udp сервер под Win

Тема в разделе "C/C++/C#", создана пользователем -, 5 сен 2010.

  1. Гость

    Необходим пока хотя бы простейший UDP сервер под win.

    Код (Text):
    // СЕРВЕР
    #include <winsock2.h>
    #include <windows.h>
    #include <stdio.h>
    #include <ctime>

    #pragma comment(lib, "ws2_32.lib")

    //using namespace std;

    char Hz [200];

    int main(int argc, char *argv[])
    {
    struct sockaddr_in sa;
    int fromlen, bound, error;
    SOCKET sock;
    WSADATA ws;

    WSAStartup (MAKEWORD( 1, 1 ), &ws);

    sa.sin_family = AF_INET;
    sa.sin_addr.s_addr = INADDR_ANY;
    sa.sin_port = htons(7654);

    sock = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
    printf ("sock = %d\n", sock);
    fromlen = sizeof (sa);
    printf ("fromlen = %d\n", fromlen);
    bound = bind (sock,(struct sockaddr *)&sa, sizeof(struct sockaddr));
    printf ("bound = %d\n", bound);

    while (1) {
    printf ("recv test....\n");
    int recsize = recvfrom(sock, Hz, 100, 0, (struct sockaddr *)&sa, &fromlen);
    if (recsize < 0)
    printf( "Some fucking ERROR!\n" );
    printf("recsize: %d\n ",recsize);
    Sleep(1000);
    printf("datagram: %s\n",Hz);
    }

    getchar();
    }
    Сервер написал, запустил.
    Пишет:
    То есть все прошло успешно, и ждем пакетов в 7654 порт.

    Пытаюсь присоединиться телнетом:
    telent 127.0.0.1 7654
    Телнет говорит, что, мол, невозможно подключиться
    Когда запускаю клиент, который шлет туда датаграммы, ноль внимания =(((

    В чем дело? Пишу в Visual Studio 2005, под WinXP. Права не админские, но под админом тоже пробовал - не работает

    Помогите, пожалуйста...
     
Загрузка...

Поделиться этой страницей