Computer Network

//

//Client.c by Dr. Junwhan Kim

//This MUST be used for only CSCI315 at UDC

//

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <unistd.h>

#include <arpa/inet.h>

#include <sys/types.h>

#include <netinet/in.h>

#include <sys/socket.h>

#define MAXRCVLEN 500

#define PORTNUM 2300

int main(int argc, char *argv[])

char buffer[MAXRCVLEN + 1]; // for receiving

int len, mysocket;

struct sockaddr_in dest;

char msg[MAXRCVLEN + 1]; // for sending

mysocket = socket(AF_INET, SOCK_STREAM, 0);

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

dest.sin_family = AF_INET;

dest.sin_addr.s_addr = htonl(INADDR_LOOPBACK);

dest.sin_port = htons(PORTNUM);

connect(mysocket, (struct sockaddr *)&dest, sizeof(struct sockaddr));

len = recv(mysocket, buffer, MAXRCVLEN, 0);

if(len < 0){

perror("Reciver failed");

close(mysocket);

return EXIT_FAILURE;

}

else{

buffer[len] = '\0';

printf("I Received %s \n", buffer);

}

while(1){

printf("Enter a character ");

fgets(msg, sizeof(msg), stdin);

if(strncmp(msg, "exit", 4) == 0) break;

if(send(mysocket, msg, strlen(msg), 0) < 0){

perror("Send failed");

close(mysocket);

return EXIT_FAILURE;

}

memset(msg, 0, strlen(msg));

}

close(mysocket);

return EXIT_SUCCESS;