套接字编程发送字符

时间:2018-09-21 02:41:31

标签: c sockets tcp client-server

您是套接字编程和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”,有人可以解释我哪里出了问题吗?

0 个答案:

没有答案