OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

送信したデータの一部が文字化けしちゃう

  • すぐに回答を!
  • 質問No.241599
  • 閲覧数152
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 55% (11/20)

ソケット通信を利用してデータを送信した際に、
データの一部が文字化けしてしまって困っています。

Cのプログラム内でデータを作成し、
writeを使用してソケットディスクリプタに書き込んでます。
デーモンを介してJavaのプログラムに送信しているのですが、
writeする直前では正常なデータなのに、
Java側で受信すると一部の文字が化けてしまうことがあります。
原因とかぜんぜんわからなくて、かなり困ってるのですが、
わかる方いらっしゃいましたら教えてくださぁ~~~いっ!
お願いします!!!

ちなみに、送信しているデータは構造体です。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全1件)

  • 回答No.1
レベル10

ベストアンサー率 31% (47/149)

あまりに抽象的すぎます。 どのようなデータを送信して、どのような結果が得られて、どこかまずいのか。 また、送受信するソースコードはどのように書いているのか、 それくらいは質問する際に記述すべきです。 ...続きを読む
あまりに抽象的すぎます。
どのようなデータを送信して、どのような結果が得られて、どこかまずいのか。
また、送受信するソースコードはどのように書いているのか、
それくらいは質問する際に記述すべきです。
補足コメント
youko_puri

お礼率 55% (11/20)

ごめんなさい。こうゆーの使うの初めてなので
なんて書いたらいいのかわからなかったです。

送信するデータは
”茨城支店サーバ\a神奈川支店サーバ\a東京支店サーバ\a・・・”
とゆー感じで、\aで区切られたデータがいくつか連なっています。

このデータをwriteを使用して
下記のようにソケットディスクリプタに書き込んでます。


memset(ret_data1.req_data,'\0',WORKSIZE - sizeof(long) * 2);
memcpy(ret_data1.req_data,send_data->req_data,size);
ret_size = write(sock_d,(char *)&ret_data1,WORKSIZE);
if(ret_size < 0) {
return NG;
}


上記のsend_data->req_dataにデータが格納されてます。

このようにしてデータを送信したときに、
Javaの方で受信すると、複数あるデータの一部
(例えば、”神奈川支店サーバ”だけとか)が
文字化けしてしまいます。
Java側では受信するデータの数を想定していて、
文字化けにより、二つのデータが一つになってしまい、
データ数が一致しないため、エラーと判断されます。

Java側の受信しているソースがわからないので、
どのようにして受け取っているのかがわかりません。

コレだけじゃわからない・・・ですよね。。。
投稿日時 - 2002-03-26 13:48:08


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ