2009-12-07 4 views
0

"java.io.IOException : Stream closed"와 같은 예외가 발생하는 응용 프로그램을 실행하는 동안 jxa-1.0을 사용하여 블랙 베리에 인스턴트 메시징 응용 프로그램을 만듭니다.이 문제를 해결할 방법을 알려주십시오. 또는 Jxa-1.0 pls에 대한 이전 경험이 있다면이 방법을 사용하는 방법에 대한 아이디어를 공유하십시오.블랙 베리에서이 예외를 수정하는 방법?

답변

0

시뮬레이터에서이 오류 메시지가 표시되는 경우 놀라지 마십시오. 시뮬레이터에서 특히 I/O 오류가 직접 TCP 또는 Wi-Fi 연결을 통해 특히 그렇습니다. 새로운 5.0 시뮬레이터 중 일부는 이전 모델보다 더 문제가있는 것처럼 보입니다.

아직 시도하지 않았다면 실제 장치에서 시도해보십시오. 아마도 더 좋을 것입니다.

+0

블랙 베리 용 Jabber 프로토콜을 사용하여 인스턴트 메시지 클라이언트 프로그래밍을 해 본 경험이 있습니까? jabber 클라이언트 응용 프로그램을 개발하는 방법에 대한 아이디어를 공유하십시오. jxa1.0을 사용하는 방법에 대한 명확한 아이디어가 없습니다. – Kumar

+0

아니요, 스트리밍 오디오에 대해 더 많은 작업을합니다. IM을 사용하지 않았거나 해당 라이브러리를 사용했습니다. 영향을 줄 수있는 시뮬레이터와 내 경험을 공유하기 만했습니다 (HTTP를 사용한다고 가정). –

+0

예 http 만 사용하고 있습니다. – Kumar

1

시뮬레이터에서이 오류를 피하려면 한 번에 1 바이트 씩 InputStream을 읽어야합니다 (성능이 영향을 받으므로 실제 장치로 작업 할 때는이 방법을 사용하지 마십시오) :

InputStream is = httpConnection.openInputStream(); 
int data = -1; 
ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
data = is.read(); 
bos.write(data); 
while (data >= 0) { 
try { 
    data = is.read(); 
} catch (Exception e) { 
    // Replace exception with "-1". This is to handle anomalous End-of-Stream in OS 5. 
    data = -1; 
} 
bos.write(data); 
} 
byte[] byteArray = bos.toByteArray();