ソケットプログラミングのsend関数でfloat型を送る方法

[戻る]
くま 2005/06/27(月) 12:28:59
 現在VC++6.0でTCPの学習をしているものです。


 ソケットを利用してサーバーとクライアントを作りsendとrecvで文字列の受け渡しはできる
のですが、float型の数値を送ることができません。

 何か方法がありましたら教えていただきたいと思います。よろしくお願いします。

dairygoods 2005/06/27(月) 12:48:48
送信側はfloatをsprintfなどで文字列に変換して送信し、
受信側は文字列をstrtodなどでfloatに変換します。

YuO [E-Mail] 2005/06/27(月) 12:50:21
floatへのポインタをchar *へキャストすれば,send/recvできます。
ただし,バイトオーダーや浮動小数点数の実装の違いには注意が必要です。

YuO [E-Mail] 2005/06/27(月) 12:52:27
dairygoodsさんの方法はテキスト化して渡す方法,
私の方法はバイナリのまま渡す方法です。

文字列化することが許されるのであれば,dairygoodsさんの方法を採った方がよいでしょ
う。
# バイトオーダーも実装の違いも考えないで済むので。

くま 2005/06/27(月) 14:23:03
[[解決]]
 ありがとうございました。一度文字列に直してから送り、また文字列に直すという手順で、数
値を送ることができました。

くま 2005/06/27(月) 14:23:46
[[解決]]
 上の訂正です。

 ありがとうございました。一度文字列に直してから送り、また数値に直すという手順で、数
値を送ることができました。

古いスレッドには追加発言できません。