rubyとC++間でプログラミングを行っています。
ともにlinuxで実装しています。
まずrubyでヘッダフォーマットを定義しました。
ruby
1#example 2type = 1 3size = 100 4user = 200 5reserve = 0 6soc.write([type,size,user,reserve].pack("C*"))
ここで受信側はC++で記述しているので
C++
1char* buf = new char[4]; 2memset(buf,0,sizeof(char) * 4); 3if(recv(soc,buf,sizeof(char) * 4,0) < 0) 4 perror("ERROR") 5 6printf("MSG_HEADER: %s\n",buf);
と記述するとうまくいくと思っていたのですが表示には
MSG_HeADER: d
とでるだけでなぜかうまくいっていないようです。
Cの受信側でもとの値を取り戻すのはどうしたらよいのでしょうか?
(typeとかの値を取り戻したいです)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。