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.
![]()


