Untitled

 avatar
unknown
c_cpp
a year ago
2.2 kB
2
Indexable
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <string.h>
#include <time.h>

int main() {
    int sd, nsd, clilen, sport;
    time_t ticks;
    char sendmsg[100];
    struct sockaddr_in servaddr, cliaddr;

    printf("Enter the server Port: ");
    scanf("%d", &sport);
    printf("%d\n", sport);

    sd = socket(AF_INET, SOCK_STREAM, 0);
    // socket creation
    if (sd < 0)
        printf("Can't create\n");
    else
        printf("Socket is created\n");

    servaddr.sin_family = AF_INET;
    servaddr.sin_port = htons(sport);
    // the user
    servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
    // search the client in the same machine

    if (bind(sd, (struct sockaddr *)&servaddr, sizeof(servaddr)) < 0) {
        printf("Can't bind\n");
        return -1;
    } else {
        printf("Binded\n");
    }

    listen(sd, 5);
    clilen = sizeof(cliaddr);
    nsd = accept(sd, (struct sockaddr *)&cliaddr, &clilen);
    if (nsd < 0)
        printf("Can't accept \n");
    else
        printf("Accepted \n");

    ticks = time(NULL);
    strcpy(sendmsg, ctime(&ticks));
    send(nsd, sendmsg, 100, 0);

    return 0;
}


// client

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <string.h>

int main() {
    int csd, cport;
    char sendmsg[100], revmsg[100];
    struct sockaddr_in servaddr;

    printf("Enter the port number: ");
    scanf("%d", &cport);
    printf("%d\n", cport);

    csd = socket(AF_INET, SOCK_STREAM, 0);
    // socket creation
    if (csd < 0)
        printf("Can't Create\n");
    else
        printf("Socket is Created\n");

    servaddr.sin_family = AF_INET;
    servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
    servaddr.sin_port = htons(cport);

    if (connect(csd, (struct sockaddr *)&servaddr, sizeof(servaddr)) < 0)
        // connection establishment
        printf("Can't Connect\n");
    else
        printf("Connected successfully\n");

    recv(csd, revmsg, 100, 0);
    // receive
    printf("message read %s\n", revmsg);

    return 0;
}
Leave a Comment