Программирование сокетов отправка символов - PullRequest
0 голосов
/ 21 сентября 2018

Привет, я новичок в программировании сокетов и языке C, у меня есть следующий код в моем клиенте:

char username[9];
        if (!strcmp(msg, "USN")){
            printf("\nUsername: \n");
            scanf("%s", username);
            write_server_msg(sockfd, username);
        }

/* Writes a message to a client socket. */
void write_server_msg(int sockfd, char *msg)
{
    int n = write(sockfd, msg, strlen(msg));

}

И у меня есть следующий код для получения моего сообщения на стороне сервера:

    char *username;
            username = recv_msg(cli_sockfd[num_conn]);
            printf("[DEBUG] Client username is %s.\n", username); 



/* Reads a message from the server socket. */
    char *recv_msg(int sockfd)
    {    
        char *msg;

        int n = read(sockfd, msg, 9);

        printf("[DEBUG] Received message: %s\n", msg);
        return msg;
    }

Если я введу тестовое имя пользователя 'john', то, что я получу в результате на стороне моего сервера, будет 'null', может кто-нибудь объяснить, где я ошибся?

...