EmbeddedLinux - UDP server-client

Time program for EmbeddedLinux

EmbeddedLinux UDP Server-Client (For Digi EmbeddedLinux 5.x modules) This example Demonstrates UDP sockets.

Test Files

This sample program contains three files, Makefile, Client.c and Serv.c.

EmbeddedLinux UDP Server-Client Sample Application

The EmbeddedLinux UDP Server-Client Sample application can be found here: UDP_Server-Client.zip.

Basic Usage

  Compile, load and run application.

Sample of client.c file:

#include <stdio.h>
#include <sys/socket.h>
#include <arpa/inet.h>#include <netinet/in.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>

int main(int argc, char**argv)
{
        if(argc != 3)
        {
                printf("Enter Servr IP & UDP port as command line arguments, eg: ./client x.x.x.x 5001\n");
                exit(-1);
        }
        int serv_des;
        struct sockaddr_in serv_addr;
        char buff[20];
        socklen_t sock_len;
        
        printf("UDP Client\n");
        serv_addr.sin_family = AF_INET;

        if(inet_aton(argv[1],&(serv_addr.sin_addr)) == 0)
        {
                printf("Wrong IP format\n");
                exit(-1);
        }

        serv_addr.sin_port = htons(atoi(argv[2]));
        memset(&(serv_addr.sin_zero),'\0',8);
        sock_len = sizeof(struct sockaddr);

        if( (serv_des = socket(PF_INET,SOCK_DGRAM,0) ) < 0){
                perror("Server Descriptor Creation Failed\n");
        }


        if(sendto(serv_des,"I Am UDP Client\0",16,0,(struct sockaddr*)&serv_addr,sock_len) <0){
                perror("Send To Failed\n");
        }



        if(recvfrom(serv_des,buff,16,0,(struct sockaddr*)&serv_addr,&sock_len) <0 ){
                perror("Receive From Failed\n");
        }

        printf("Server Says : %s\n",buff);


        return 0;
}

 

© 2018 Digi International Inc. All rights reserved.
EmbeddedLinux - UDP server-client updated on 07 Aug 2018 01:12 PM