API 関数によって埋められる char * バッファがあります。そのポインターに含まれるデータを取得し、unsigned short にキャストし、ネットワーク (htons()) 形式に変換して UDP 経由で送信する必要があります。これが私のコードです(いくつかの理由ですべてではありません)
以下のコードは機能しますが、反対側のデータは不良です (ショートやネットワーク変換ではありません)。
char * pcZap;
while(1)
{
unsigned short *ps;
unsigned short short_buffer[4096];
write_reg(to start xfer);
return_val = get_packet(fd, &pcZap, &uLen, &uLob);
check_size_of_uLen_and_uLob(); //make sure we got a packet
// here I need to chage pcZap to (unsigned short *) and translate to network
sendto(sockFd,pcZap,size,0,(struct sockaddr *)Server_addr,
sizeof(struct sockaddr));
return_val = free_packet(fd, pcZap);
thread_check_for_exit();
}
どんな助けでも大歓迎です。ありがとうございました。