The OpenNET Project / Index page

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

Пример напиания серверного приложения работающего по UDP (udp socket example tcpip)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: udp, socket, example, tcpip,  (найти похожие документы)
Date: Wed, 24 Jul 2002 09:28:03 +0600 From: Alexander Krisak <[email protected]> Newsgroups: fido7.ru.linux Subject: Пример напиания серверного приложения работающего по UDP >> socket(2) с типом SOCK_DGRAM. > трабла в том, что не работает чегото... как осуществляет коннект, бинд и ацепт, > вернее чем они отличаються если юзать тсп? все также, только вот accept() делать не надо, т.к. виртуального канала не создается, и нет коннекта, просто посылаются пакеты без какой-либо гарантии доставки и все.. ;--------------------------------X8 #include <errno.h> #include <stdio.h> #include <signal.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <netinet/in.h> #include <sys/socket.h> volatile int is = 1; void sig_int(int sig_no) { is = 0; return; } int main() { int sock, len; struct sockaddr_in addr; char buff[256]; if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { fprintf(stderr, "%d ", errno); perror("socket()"); return 1; } addr.sin_family = AF_INET; addr.sin_addr.s_addr = INADDR_ANY; addr.sin_port = htons(10000); signal(SIGINT, sig_int); if (bind(sock, (struct sockaddr*)&addr, sizeof(struct sockaddr_in)) == -1) { fprintf(stderr, "%d ", errno); perror("bind()"); } while(is) { memset(buff, 0, 256); len = sizeof(struct sockaddr_in); memset(&addr, 0, sizeof(struct sockaddr_in)); if (recvfrom(sock, buff, 255, 0, (struct sockaddr*)&addr, &len) == -1) { fprintf(stderr, "%d ", errno); perror("recvfrom()"); } addr.sin_addr.s_addr = htonl(addr.sin_addr.s_addr); addr.sin_port = htons(addr.sin_port); printf("%d.%d.%d.%d:%d (%d) > %s\n", (addr.sin_addr.s_addr >> 24), ((addr.sin_addr.s_addr >> 16) & 0xff), ((addr.sin_addr.s_addr >> 8) & 0xff), (addr.sin_addr.s_addr & 0xff), addr.sin_port, len, buff); } close(sock); return 0; } ;--------------------------------X8

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1, Михаил (??), 11:49, 12/05/2010 [ответить]  
  • +/
    Какой это пример, без какого-либо коментария или пояснения?!
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




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

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