0
int main(void) {
    int sock_fd = connect_to_server(PORT, "127.0.0.1");

    char username[50];

    // Ask for username
    printf("Username: \n");

    // Read the username from STDIN
    scanf("%s", username);


    // write that username to the socket
    write(sock_fd, username, 50);

    char buf[BUF_SIZE + 1];

    //Initialize the file descriptor set fdset 
    fd_set read_fds;
    // Then have zero bits for all file descriptors
    FD_ZERO(&read_fds);


    while (1) {
        int num_read;
        char myString[10];
        myString[0] = '\0';

        if (write(sock_fd, myString, 10) == 0) {
            printf("SERVER Shutting down\n");
        }


        FD_SET(sock_fd, &read_fds);
        FD_SET(STDIN_FILENO, &read_fds);


        select(sock_fd + 1, &read_fds, '\0', '\0', '\0');

        if (FD_ISSET(STDIN_FILENO, &read_fds)) { //check whether the fd value is in the fd_set

            num_read = read(STDIN_FILENO, buf, BUF_SIZE);
            if (num_read == 0) {
                break;
            }
            buf[num_read] = '\0';         // Just because I'm paranoid

            int num_written = write(sock_fd, buf, num_read);
            if (num_written != num_read) {
                perror("client: write");
                close(sock_fd);
                exit(1);
            }

        }

        if (FD_ISSET(sock_fd, &read_fds)) { //the socket with the server    
            num_read = read(sock_fd, buf, BUF_SIZE);
            buf[num_read] = '\0';
            printf("%s", buf); 
        }

    }

    close(sock_fd);
    printf("SERVER Shutting down\n");
    return 0;
}

When my server exits, I want it to close all of the client sockets then the clients should be sent the message, "SERVER Shutting down". I want this to happen if my server receives a SIGINT (Ctrl-C) signal. I basically want it to "clean up" and then exit with status code 0.

How can I check if my server is terminated?

static
  • 19
  • 2
  • 1
    Is there a question here? – l'L'l Apr 02 '18 at 01:53
  • @l'L'l sorry, I meant to ask if there is some code i can insert in the while loop to continuously check if server is still up and running – static Apr 02 '18 at 02:05
  • @static: You should explain what your code does in the first place, what you've tried, and what is not working. Please see "[How to create a Minimal, Complete, and Verifiable example](https://stackoverflow.com/help/mcve)" – l'L'l Apr 02 '18 at 02:06

0 Answers0