Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Implement a TCP client and server. Both the client and server will run on the sa

ID: 3732918 • Letter: I

Question

Implement a TCP client and server. Both the client and server will run on the same machine in different command line windows. The client program requests a message to be entered by the user, and sends the message to the server. Server responds with an all-caps version of the client message.
Implement the client in Python and the server in C/C++.
The server will be invoked with the command
>> server serverport
and the client with the command
>> client serverIP serverport
For the server, choose a port number between greater than 4000.

Explanation / Answer

//Code for client

print response

//Code for server

#include <stdio.h>

#include <sys/socket.h>

#include <stdlib.h>

#include <netinet/in.h>

#include <string.h>

#define PORT 8080

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

{

    int server_fd, new_socket, valread;

    struct sockaddr_in address;

    int opt = 1;

    int addrlen = sizeof(address);

    char buffer[1024] = {0};

    char *hello = "Hello from server";

      

    // Creating socket file descriptor

    if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0)

    {

        perror("socket failed");

        exit(EXIT_FAILURE);

    }

      

    // Forcefully attaching socket to the port 8080

    if (setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR | SO_REUSEPORT,

                                                  &opt, sizeof(opt)))

    {

        perror("setsockopt");

        exit(EXIT_FAILURE);

    }

    address.sin_family = AF_INET;

    address.sin_addr.s_addr = INADDR_ANY;

    address.sin_port = htons( PORT );

      

    // Forcefully attaching socket to the port 8080

    if (bind(server_fd, (struct sockaddr *)&address,

                                 sizeof(address))<0)

    {

        perror("bind failed");

        exit(EXIT_FAILURE);

    }

    if (listen(server_fd, 3) < 0)

    {

        perror("listen");

        exit(EXIT_FAILURE);

    }

    if ((new_socket = accept(server_fd, (struct sockaddr *)&address,

                       (socklen_t*)&addrlen))<0)

    {

        perror("accept");

        exit(EXIT_FAILURE);

    }

    valread = read( new_socket , buffer, 1024);

    printf("%s ",buffer );

    send(new_socket , hello , strlen(hello) , 0 );

    printf("Hello message sent ");

    return 0;

}

import socket
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote