Skip to main content

UDP echo server, client

udpserver.c


#include "stdio.h"
#include "stdlib.h"
#include "sys/types.h"
#include "sys/socket.h"
#include "arpa/inet.h"
#include "netinet/in.h"
#include "string.h"
#define SA struct sockaddr
#define MAX 1024

int main(int argc,char** argv) {
    int sockfd,n;
    socklen_t len;
    struct sockaddr_in servaddr,cliaddr;
    char buff[MAX],tmp[MAX];

    //create socket
    sockfd = socket(AF_INET,SOCK_DGRAM,0);
    //fill socket
    servaddr.sin_family = AF_INET;
    servaddr.sin_port = htons(atoi(argv[1]));
    servaddr.sin_addr.s_addr = htonl(INADDR_ANY);

    //bind
    bind(sockfd,(SA*)&servaddr,sizeof(servaddr));

    for(;;) {
    bzero(buff,sizeof(buff));
    len = sizeof(cliaddr);
    n=recvfrom(sockfd,buff,MAX,0,(SA*)&cliaddr,&len);
    strcpy(tmp,buff);
    printf("received : %s",tmp);
    if(n < 6) 
    {
        perror("send message");
        exit(0);
    }
    sendto(sockfd,tmp,MAX,0,(SA*)&cliaddr,len);
    bzero(buff,sizeof(buff));
           }
    close(sockfd);
    return 0;
}
    
udpclient.c


#include "stdio.h"
#include "stdlib.h"
#include "sys/types.h"
#include "sys/socket.h"
#include "arpa/inet.h"
#include "netinet/in.h"
#include "string.h"
#define SA struct sockaddr
#define MAX 1024

int main(int argc,char** argv) {
    int sockfd,n;
    socklen_t len;
    struct sockaddr_in servaddr;
    char buff[MAX];

    //create socket
    sockfd = socket(AF_INET,SOCK_DGRAM,0);

    //fill struct 
    servaddr.sin_family = AF_INET;
    servaddr.sin_port = htons(atoi(argv[1]));
    servaddr.sin_addr.s_addr = inet_addr("127.0.0.1");

    //send to server
    printf("enter message\n");
    for(;;) {
    bzero(buff,sizeof(buff));
    fgets(buff,MAX,stdin);
    len=sizeof(servaddr);
    sendto(sockfd,buff,MAX,0,(SA*)&servaddr,len);
    bzero(buff,sizeof(buff));
    recvfrom(sockfd,buff,MAX,0,(SA*)&servaddr,&len);
    printf("%s",buff);
    }
    close(sockfd);
    return 0;
}

Comments

Popular posts from this blog

ரிதம்பாக்ஸில் ரேடியோ மிர்ச்சி

உபுண்டு 12.04ல் bansheeயை தூக்கிவிட்டு மறுபடியும் rhythmbox default இசைப்பானாக இடம்பெற்றுள்ளது. ரிதம்பாக்ஸ்ல் bansheeயை விட பல அம்சங்கள் குறைவுதான். ஏன் banshee ஐ எடுத்தார்கள் என்று  சரியாக புரியவில்லை. என்னதான் high-bitrateல் பாடல்கள் இருந்தாலும் fm கேட்பது ஒரு மகிழ்ச்சிதான். சில வருடங்களுக்கு முன்பு எங்கள் தெருக்களில் சூரியன் fm, ரேடியோ மிர்ச்சி போன்றவை தான் என்னை எழுப்பும்.

need your response

It has been a long time... my rest hours are reduced i only sleep for 5 to 6 hours a day.. so i can't post frequently.. sorry friends.. my university is a good place to refine myself. yes..! thoughts about my programming computers are refined there.. i always wanted share my experience.. but i feared of thinking that it will helpful for you or not.. most of us don't like to hear stories of others. so i stopped blogging and of course having less time.. i have earned some good friends there... who are interested in open-source technology.. very few of us only know the linux platform.. this semester mini project also in open softwares like mysql, postgrey sql i will start blogging my experience if you are interested.. regards, Mani G

உபுண்டு டெர்மினலில் இருந்து இலவசமாக sms அனுப்பலாம்

இன்று டெர்மினலில் இருந்து எப்படி இலவசமாக sms அனுப்புவது என்று பார்க்கலாம். way2sms சென்று sms அனுப்புவதற்கு அந்த தளத்தின் விளம்பரங்களை தாண்டிதான் அனுப்ப வேண்டியிருக்கிறது. விளம்பரங்களை பார்க்கமால் சுலபமாக இந்த script ஐ பயன்படுத்தி இலவசமாக sms அனுப்பலாம். இதற்கு முதலில் way2sms ன் பயனராக இருக்க வேண்டும். இல்லை என்றால way2sms.com சென்று ஒரு அக்கவுண்டினை தொடங்கிகொள்ளவும். username, password  வேண்டும்.