Computer Network

// Server.c by Dr. Junwan Kim

// This program 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 PORTNUM 2400

#define MAXRCVLEN 500

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

char* msg = "HI CSCI315\n";

char buffer[MAXRCVLEN + 1];

int len, consocket;

struct sockaddr_in dest;

struct sockaddr_in serv;

int mysocket;

socklen_t socksize = sizeof(struct sockaddr_in);

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

serv.sin_family = AF_INET;

serv.sin_addr.s_addr = htonl(INADDR_ANY);

serv.sin_port = htons(PORTNUM);

mysocket = socket(AF_INET, SOCK_STREAM, 0);

bind(mysocket, (struct sockaddr *)&serv, sizeof(struct sockaddr));

do{

listen(mysocket, 1);

consocket = accept(mysocket, (struct sockaddr *)&dest, &socksize);

send(consocket, msg, strlen(msg), 0);

while(len=recv(consocket, buffer, MAXRCVLEN, 0)>0){

if(strncmp(buffer, "exit", 4) == 0){

break;

}

printf("Server Received: %s ", buffer);

memset(buffer, 0, strlen(buffer));

}

printf("Goodbye !\n");

close(consocket);

}while(consocket);

close(mysocket);

return EXIT_SUCCESS;