ネットワークプログラミング相談室 Port16
■ このスレッドは過去ログ倉庫に格納されています
0526デフォルトの名無しさん
2006/03/08(水) 12:12:40送る側のプログラムをコンパイルしたコンパイラが、当該のコードで
その構造体に用いたアライメントやパディングなどをちゃんと理解して、
受信側でも送られたバイト列をその通りに解釈すればよい。
そういう面倒なことをしたくないのならば、テキスト表現で送るか
適当な形式で byte[] に詰め込んで送る。
例えば
unsigned char buf[16];
memcpy(buf, msg, 8);
buf[8] = option >> 24; buf[9] = option >> 16; buf[10] = option >> 8; buf[11] = option;
buf[12] = login >> 24; buf[13] = login >> 16; buf[14] = login >> 8; buf[15] = login;
などとして、受け取った側では option = (buf[8]<<24)|(buf[9]<<16)|(buf[10]<<8)|(buf[11]);
などとする(ただしintは32ビットと仮定)。
■ このスレッドは過去ログ倉庫に格納されています