UDP受信

 

#include <stdio.h>

#include <string.h>

#include <unistd.h>

#include <sys/types.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <arpa/inet.h>


int32_t main(

    int32_t argc,

    const char* argv[])

{

    int32_t sock = 0;

    int32_t ret  = 0;

    ssize_t len  = 0;

    int8_t msg[ 1024 ];

    struct sockaddr_in sin;

    socklen_t slen = sizeof( sin );

   

    // 初期化

    memset( &sin, 0, sizeof( sin ) );

   

    // ソケット生成

    sock = socket( AF_INET, SOCK_DGRAM, 0 );

   

   

    sin.sin_family = AF_INET;

    sin.sin_port   = htons( 8080 );

   

    ret = bind( sock, (const struct sockaddr*)&sin, sizeof( sin ) );

   

    for( ; ; )

    {

        sleep( 1 );

        memset( msg, 0, sizeof( msg ) );

        len = recvfrom( sock, msg, sizeof( msg ), 0, (struct sockaddr*)&sin, &slen );

        printf( "%s\n", msg );

    }

   

    return 0;

}