struct结构存储问题
struct tftf_packet{ short opcode; union{ char bytes[512]; struct{ short code; char message[200]; }error; struct{ short block; char bytes[512]; }data; struct { short block; }ack; }u;};void handle_request(int sock, struct sockaddr_in *from, socklen_t from_len,struct tftp_packet *request){ struct tftp_packet data ,response; //省略一些sockt定义 if(request->opcode!=1) return ; char *file_name; file_name = request->u.bytes; //……}int mian(int argc, char **argv){ struct tftp_packet packet; //省略sockt建立等 int bytes; bytes = recvform(sock_fd,&packet,sizeof(packet),0,(struct sockaddr *)&from,&from_len); hadnle_request(sock_fd,&from,from_len,&packet);}