this project has to be in C luggage computer science homework help

this project has to be written

// forwarder.c by Dr. Junwan Kim_x000D_
// This program MUST be used for only csci315_x000D_
//_x000D_
#include <stdio.h>_x000D_
#include <stdlib.h>_x000D_
#include <string.h>_x000D_
#include <unistd.h>_x000D_
#include <arpa/inet.h>_x000D_
#include <sys/types.h>_x000D_
#include <netinet/in.h>_x000D_
#include <sys/socket.h>_x000D_
_x000D_
#define PORTNUM1 2300_x000D_
#define PORTNUM2 2400_x000D_
#define MAXRCVLEN 500_x000D_
_x000D_
int main(int argc, char *argv[])_x000D_
{_x000D_
    char* msg = "HI CSCI315 from forwardern"; _x000D_
    char buffer[MAXRCVLEN + 1];_x000D_
_x000D_
    int len, consocket;_x000D_
    struct sockaddr_in dest;_x000D_
    struct sockaddr_in serv;_x000D_
_x000D_
    struct sockaddr_in client;_x000D_
_x000D_
    int server_socket;_x000D_
    int client_socket;_x000D_
_x000D_
    // For server_x000D_
    socklen_t socksize = sizeof(struct sockaddr_in);_x000D_
_x000D_
    memset(&serv, 0, sizeof(serv));_x000D_
    serv.sin_family = AF_INET;_x000D_
    serv.sin_addr.s_addr = htonl(INADDR_ANY);_x000D_
    serv.sin_port = htons(PORTNUM1);_x000D_
_x000D_
    server_socket = socket(AF_INET, SOCK_STREAM, 0);_x000D_
_x000D_
    bind(server_socket, (struct sockaddr *)&serv, sizeof(struct sockaddr));_x000D_
_x000D_
    // For client_x000D_
    client_socket = socket(AF_INET, SOCK_STREAM, 0);_x000D_
    memset(&client, 0, sizeof(client));_x000D_
    client.sin_family = AF_INET;_x000D_
    client.sin_addr.s_addr = htonl(INADDR_ANY);_x000D_
    client.sin_port = htons(PORTNUM2);_x000D_
    connect(client_socket, (struct sockaddr *)&client, sizeof(struct sockaddr));_x000D_
_x000D_
    len=recv(client_socket, buffer, MAXRCVLEN, 0);_x000D_
    if(len <0){_x000D_
	close(client_socket);_x000D_
	perror("Reciver failed");_x000D_
	return EXIT_FAILURE;_x000D_
    }_x000D_
    buffer[len]='';_x000D_
    printf("As a client, I Received %s n", buffer);_x000D_
_x000D_
    memset(buffer, 0, strlen(buffer));_x000D_
_x000D_
    printf("Server starts...n");_x000D_
_x000D_
    do{_x000D_
	listen(server_socket, 1);_x000D_
	consocket = accept(server_socket, (struct sockaddr *)&dest, &socksize);_x000D_
	send(consocket, msg, strlen(msg), 0);_x000D_
        while(len=recv(consocket, buffer, MAXRCVLEN, 0)>0){_x000D_
                printf("Received: %s ", buffer);_x000D_
_x000D_
		// As a client, send "buffer" here_x000D_
_x000D_
		if(strncmp(buffer, "exit", 4) == 0){_x000D_
                        break;_x000D_
                }_x000D_
		memset(buffer, 0, strlen(buffer));_x000D_
_x000D_
     	}_x000D_
	printf("Goodbye !n");_x000D_
        close(consocket);_x000D_
_x000D_
    }while(consocket);_x000D_
_x000D_
    close(client_socket);_x000D_
    close(server_socket);_x000D_
    return EXIT_SUCCESS;_x000D_
}
2
//_x000D_
//TCP_Client.c by Dr. Junwhan Kim_x000D_
//This MUST be used for only CSCI315 at UDC_x000D_
//_x000D_
#include <stdio.h>_x000D_
#include <stdlib.h>_x000D_
#include <string.h>_x000D_
#include <unistd.h>_x000D_
#include <arpa/inet.h>_x000D_
#include <sys/types.h>_x000D_
#include <netinet/in.h>_x000D_
#include <sys/socket.h>_x000D_
_x000D_
#define BUFLEN 512  //Max length of buffer_x000D_
#define MAXRCVLEN 500_x000D_
#define PORTNUM 2300_x000D_
#define TCP_ServerPORT 1234_x000D_
_x000D_
void DieWithError(char *s)_x000D_
{_x000D_
    perror(s);_x000D_
    exit(1);_x000D_
}_x000D_
_x000D_
int main(int argc, char *argv[])_x000D_
{_x000D_
   char buffer[MAXRCVLEN + 1]; // for receiving_x000D_
   int len, mysocket;_x000D_
   struct sockaddr_in dest;_x000D_
   char msg[MAXRCVLEN + 1]; // for sending_x000D_
_x000D_
   mysocket = socket(AF_INET, SOCK_STREAM, 0);_x000D_
_x000D_
   memset(&dest, 0, sizeof(dest));_x000D_
   dest.sin_family = AF_INET;_x000D_
   dest.sin_addr.s_addr = htonl(INADDR_LOOPBACK);_x000D_
   dest.sin_port = htons(PORTNUM);_x000D_
_x000D_
   // TCP server *******************_x000D_
   // TCP server code must be here_x000D_
_x000D_
   // ******************************_x000D_
_x000D_
   connect(mysocket, (struct sockaddr *)&dest, sizeof(struct sockaddr));_x000D_
_x000D_
   len = recv(mysocket, buffer, MAXRCVLEN, 0);_x000D_
   if(len < 0){_x000D_
        perror("Reciver failed");_x000D_
        close(mysocket);_x000D_
        return EXIT_FAILURE;_x000D_
   }_x000D_
   else{_x000D_
        buffer[len] = '';_x000D_
        printf("I Received %s n", buffer);_x000D_
   }_x000D_
   memset(buffer, 0, strlen(buffer));_x000D_
_x000D_
   // Create a socket, bind, listne, and sccept code for TCP_server ****************_x000D_
   // Your code must be here._x000D_
_x000D_
   // *************************************************_x000D_
   _x000D_
   while(1){_x000D_
        printf("Enter a character ");_x000D_
        fgets(msg, sizeof(msg), stdin);_x000D_
        if(strncmp(msg, "exit", 4) == 0) break;_x000D_
        if(send(mysocket, msg, strlen(msg), 0) < 0){_x000D_
                perror("Send failed");_x000D_
                close(mysocket);_x000D_
                return EXIT_FAILURE;_x000D_
        }_x000D_
	memset(msg, 0, strlen(msg));_x000D_
_x000D_
	printf("Waiting for data from a server...");_x000D_
    fflush(stdout);_x000D_
_x000D_
    // As a server, you must receive somthing here.  _x000D_
	printf("Recieved Data: %sn" , buffer);_x000D_
    memset(buffer, 0, strlen(buffer));_x000D_
  }_x000D_
   close(mysocket);_x000D_
   return EXIT_SUCCESS;_x000D_
}_x000D_

3

// TCP_Server.c by Dr. Junwan Kim_x000D_
// This program MUST be used for only csci315_x000D_
//_x000D_
#include <stdio.h>_x000D_
#include <stdlib.h>_x000D_
#include <string.h>_x000D_
#include <unistd.h>_x000D_
#include <arpa/inet.h>_x000D_
#include <sys/types.h>_x000D_
#include <netinet/in.h>_x000D_
#include <sys/socket.h>_x000D_
_x000D_
#define PORTNUM 2400_x000D_
#define TCP_ClientPORT 1234_x000D_
_x000D_
#define MAXRCVLEN 500_x000D_
#define SERVER "127.0.0.1" // local server_x000D_
#define BUFLEN 512  //Max length of buffer_x000D_
_x000D_
void DieWithError(char *s)_x000D_
{_x000D_
    perror(s);_x000D_
    exit(1);_x000D_
}_x000D_
_x000D_
int main(int argc, char *argv[])_x000D_
{_x000D_
    char* msg = "HI from Servern"; _x000D_
    char buffer[MAXRCVLEN + 1];_x000D_
_x000D_
    int len, consocket;_x000D_
    struct sockaddr_in dest;_x000D_
    struct sockaddr_in serv;_x000D_
    int mysocket;_x000D_
    socklen_t socksize = sizeof(struct sockaddr_in);_x000D_
    char test[100];_x000D_
_x000D_
    memset(&serv, 0, sizeof(serv));_x000D_
    serv.sin_family = AF_INET;_x000D_
    serv.sin_addr.s_addr = htonl(INADDR_ANY);_x000D_
    serv.sin_port = htons(PORTNUM);_x000D_
_x000D_
    // ***** TCP Client  **************_x000D_
    // Your code must be here_x000D_
    //_x000D_
    // **************************_x000D_
_x000D_
    mysocket = socket(AF_INET, SOCK_STREAM, 0);_x000D_
_x000D_
    bind(mysocket, (struct sockaddr *)&serv, sizeof(struct sockaddr));_x000D_
_x000D_
    do{_x000D_
	listen(mysocket, 1);_x000D_
	consocket = accept(mysocket, (struct sockaddr *)&dest, &socksize);_x000D_
	send(consocket, msg, strlen(msg), 0);_x000D_
_x000D_
        if(flag == 0) {_x000D_
		fgets(test, sizeof(test), stdin);_x000D_
        	connect(client_socket, (struct sockaddr *)&client_dest, sizeof(struct sockaddr));_x000D_
                flag =1;_x000D_
         }_x000D_
_x000D_
        while(len=recv(consocket, buffer, MAXRCVLEN, 0)>0){_x000D_
                if(strncmp(buffer, "exit", 4) == 0){ _x000D_
			         break;_x000D_
		        }_x000D_
                printf("Server Received: %s ", buffer);_x000D_
                _x000D_
                // TCP client code must be here_x000D_
_x000D_
	       memset(buffer, 0, strlen(buffer));_x000D_
_x000D_
     	}_x000D_
	printf("Goodbye !n");_x000D_
        close(consocket);_x000D_
_x000D_
    }while(consocket);_x000D_
_x000D_
    close(mysocket);_x000D_
    return EXIT_SUCCESS;_x000D_
}

 
Do you need a similar assignment done for you from scratch? We have qualified writers to help you. We assure you an A+ quality paper that is free from plagiarism. Order now for an Amazing Discount!
Use Discount Code "Newclient" for a 15% Discount!

NB: We do not resell papers. Upon ordering, we do an original paper exclusively for you.