모든 웹에서 C로 데이터를 직렬화하여 TCP/IP 소켓을 통해 구조체를 보낼 수있는 방법을 찾았습니다. 아무것도 찾을 수 없었습니다. 그러나 나는 이런 식으로 패킷의 비트 위치를 고칠 수 있으므로 "사실상"직렬화 할 수 있다고 생각합니다.C에서 malloc으로 직렬화
packet *datapkt = NULL;
datapkt = (packet*)malloc(PKT_SIZE); // Allocation of memory with this size
datapkt->field = data;
......
send(datapkt);
free(datapkt);
누구에게 말해 줄 수 있습니까? 지금까지 내 프로젝트에서 작동하고 있습니다.
미리 감사드립니다.
와이어를 통해 외부 호스트 인 [endianness] (https://en.wikipedia.org/wiki/Endianness) 및 플랫폼에 메모리 레이아웃 양식을 푸시 할 때주의해야 할 이유 목록이 있습니다 [ 패딩 및 포장] (http://stackoverflow.com/questions/4306186/structure-padding-and-packing) 목록 상단에 있습니다. 당신이하고있는 일이 "일하는"것이라면 우연이 아니라 의도적으로 그렇게하고 있는지 확인하십시오. – WhozCraig