2012-12-07 5 views
-1

내가 POST 및 GET을 사용하여 만든 j2me 응용 프로그램은 ServerSide (php)에서 모든 길이의 데이터를 읽을 수 있습니다. 모바일은 서버에서 모든 데이터가 전송 될 때까지 스레드에서 기다립니다. 그러나 내가 모바일에서 ServerSide로 데이터를 보낼 때 서버는 모바일이 모든 내용을 보낼 때까지 기다릴 수 없습니다. 모바일에서 보낸 데이터가 너무 길면 serverSide에 빈 문자열을받는 중입니다. serverSide는 모바일에서 보낸 String의 절반 또는 전부를 포함해야합니다.J2ME와 PHP를 사용하여 게시 또는 가져 오기

어떻게 서버가 모든 콘텐츠가 도착할 때까지 기다릴 수 있습니까?

답변

0

웹 서버의 구성에 따라 다릅니다. 들어오는 모든 데이터가 요청 헤더의 서버로 보내 지므로 요청 시간 초과를 늘려야합니다. 예를 들어 nginx에서는 client_header_timeoutclient_body_timeoutconfiguration parameters으로 만들었습니다.

+0

@Smotesko 내가 클라이언트에서 j2me를 사용하여 긴 문자열을 보낼 때 서버가 연결을 끊는 이유를 이해할 수 없습니다. 브라우저에 동일한 문자열을 붙여도 시간이 오래 걸리지 만 문자열이 성공적으로 전송됩니다. 그래서 서버가이 구성에서 표시된 것처럼 오류가 전혀 반환되지 않기 때문에 Long이 J2ME을 사용하여 보내는 문자열을 무시하게 만듭니다. http://nginx.org/en/docs/http/ngx_http_core_module.html – glapo

+0

다른 아이디어가 있습니다. J2ME에서 보내는 메시지를 기록하십시오. 메시지 중간에 두 개의 캐리지 리턴 기호가있을 수 있습니다.이 기호는 서버가 메시지의 끝으로 해석합니다. –

+0

또한 실제 휴대 전화에서 GPRS 연결을 통해 메시지를 보내는 경우 시간 초과가있는 문제 일 수 있습니다. 그러나 에뮬레이터에서 MIDlet을 실행할 때이 동작이 나타나는 경우 문제가되지 않습니다. –

관련 문제