プロが教える店舗&オフィスのセキュリティ対策術

iアプリでアプリの開発を行っています。
開発環境はdoja5.0+eclipse3.1を使用しております。

HTTP通信によりサーバにバイナリデータを送信したいのです

ADFの設定はPackageURL及びUseNetworkを設定しております。

localhostでエミュレータでテストしているため
PackageURLは「http://localhost:80/dictionary.jar」と設定しています。

以下のソースコードをデバッグ起動すると「httpCon.connect();」にて
exceptionが発生して、「Illegal connection object state」のいう
メッセージがかえってきます。

以下はHTTP通信部分のソースです。
どうか知恵をお貸しください。
よろしくお願いいたします。


// URLを作成する
String url = IApplication.getCurrentApp().getSourceURL() + "getScore.php";
StringBuffer reqMsg = new StringBuffer();
DataInputStream fromStream = null;
DataOutputStream toStream = null;
HttpConnection httpCon = null;

try {
  // HTTP接続処理
  httpCon = (HttpConnection)Connector.open(url, Connector.READ_WRITE, true);
  httpCon.setRequestMethod(HttpConnection.POST);
  httpCon.setRequestProperty("Content-Type", "application/x-xpinstall");

  //送信データ元(スクラッチパッド頭8000バイト分)
  fromStream = Connector.openDataInputStream("scratchpad:///0;pos=0,length=8000");
  //送信データ先
  toStream = httpCon.openDataOutputStream();

  byte[] buff = new byte[8000];
  fromStream.read(buff);
  toStream.write(buff);

  //http接続
  httpCon.connect();←ここでException

A 回答 (1件)

例外メッセージ「Illegal connection object state」より、


connectionオブジェクトの状態が不正であると言っています。

iアプリの開発ガイドと見比べると
connect()前にtoStream.close()が必要そうです。
    • good
    • 0
この回答へのお礼

忙しくてお礼が遅れました。
ばっちり解決できました。ありがとうございます。

お礼日時:2011/04/01 13:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!