Advertisement

C6385:其中的数据无效: 可读大小为recv()72字节, 实际读取了25 byte(s).

阅读量:

C++网络编程中接收结构体对象遇到的问题

希望从客户端向服务器端传输一个结构体对象。通过网络搜索得知,可以在客户端使用memcpy函数将结构体数据复制到字符串中,随后将该字符串发送至服务器端,在服务器端再将其转换回结构体形式。具体的实现代码如下:

结构体定义:

复制代码
    typedef struct Player {
    	char name[20];
    	char total[5];
    }Player;
    
    
    AI写代码cpp
复制代码
    Player p1;
    strcpy(p1.name, "wyz");
    strcpy(p1.total, "100");
    char buffer[25];
    memset(buffer, 0, sizeof(buffer));
    memcpy(buffer, &p1, sizeof(p1));
    send(client_socket, buffer, sizeof(buffer), 0);
    
    
    AI写代码cpp
复制代码
    Player play;
    char buffer[25];
    memset(buffer, 0, sizeof(buffer));
    recv(

全部评论 (0)

还没有任何评论哟~