Android 앱에서 GET 요청을 보낼 때 NodeMCU 서버 잘못된 응답

stas95

NodeMCU를 기반으로 작은 서버를 만들었습니다. 브라우저에서 연결할 때 모두 잘 작동하지만 문제가 시작되면 Android 앱 uisng OkHttp 또는 Volley에서 연결하려고 할 때 예외가 발생합니다. java.io.IOException : OkHttp를 사용하는 Connection에서 예기치 않은 스트림 종료, Volley를 사용하는 EOFException.

서버가 응답 한 후이 EOFException에 대한 문제는 매우 유사 하지만 응답을 찾지 못했습니다.

ESP 서버 코드

srv:listen(80, function(conn)

  conn:on("receive", function(conn,payload)
    print(payload)
    conn:send("<h1> Hello, NodeMCU.</h1>")
  end)
  conn:on("sent", function(conn) conn:close() end)
end)

Android 코드

final RequestQueue queue = Volley.newRequestQueue(this);
final String url = "http://10.42.0.17:80";

final StringRequest request = new StringRequest(Request.Method.GET, url,
            new Response.Listener<String>() {

                @Override
                public void onResponse(String response) {
                    mTemperatureTextView.setText(response.substring(0, 20));
                    System.out.println(response);
                }
            },

            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    System.out.println("Error + " + error.toString());
                    mTemperatureTextView.setText("That didn't work!");
                }
            }
    );

mUpdateButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            queue.add(request);
        }
    });
마르셀 스 토르

다시 보내는 것은 HTTP가 아닙니다. 프로토콜에 구애받지 않는 HTML 조각 일뿐입니다. 또한 메모리 누수가 지속됩니다.

대신 이것을 시도하십시오.

srv:listen(80, function(conn)

  conn:on("receive", function(sck,payload)
    print(payload)
    sck:send("HTTP/1.0 200 OK\r\nServer: NodeMCU on ESP8266\r\nContent-Type: text/html\r\n\r\n<h1> Hello, NodeMCU.</h1>")
  end)
  conn:on("sent", function(sck) sck:close() end)
end)
  • 일부 HTTP 헤더를 다시 보내야 HTTP/1.0 200 OK하며 줄 바꿈은 필수입니다.
  • 각 함수는 전달 된 소켓 인스턴스의 자체 복사본을 사용해야합니다 . 두 콜백 함수에서 이름 conn변경 한 방법을 sck참조 하십시오 . 자세한 내용 https://stackoverflow.com/a/37379426/131929 를 참조하십시오.

보다 완전한 전송 예제 net.socket:send()는 문서를 참조하십시오 . 그것은 단지 몇 바이트 이상을 보내기 시작하면 관련이 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

서버에 요청을 보낼 때 잘못된 JSON

분류에서Dev

서버 후 GET 요청의 잘못된 응답

분류에서Dev

400 클라이언트에서 서버로 JSON 문자열을 보낼 때 잘못된 요청 예외

분류에서Dev

post xml을 통해 quickblox에 인증 요청을 보낼 때 잘못된 서명 오류

분류에서Dev

응답 REST에서 파일을 보낼 때 HTTP 204 오류

분류에서Dev

GET 요청 후 POST 요청을 보낼 때 Flask보기 함수에서 요청 인수가 손실 됨

분류에서Dev

PHP 스크립트에 요청을 보낼 때 잘못된 기호

분류에서Dev

400 인증 코드에서 토큰을 얻기 위해 http post 요청을 보낼 때 잘못된 요청이 있습니까?

분류에서Dev

개조가 포함 된 게시물 요청이 Android에서 잘못된 요청으로 응답합니다.

분류에서Dev

Apache 서버에서 호스팅되는 Laravel 프레임 워크에서 개발 된 API가 Android 및 iOS 모바일 앱에서 요청 될 때 응답을받지 못함

분류에서Dev

SOCKS 서버에서 Android Orbot 형식이 잘못된 응답

분류에서Dev

재 시도가있는 AJAX 대기열 후속 요청에서 잘못된 페이로드를 보낼 때

분류에서Dev

이메일을 보낼 때 잘못된 서버에 접속하려고하는 Postfix?

분류에서Dev

Android에서 Laravel로 json 요청을 보낼 때 콘텐츠 유형 불일치

분류에서Dev

서버에 게시 요청을 보낼 때 응용 프로그램이 중단됨

분류에서Dev

Android JSON 서버 응답이 잘못된 오류 일 수 있음

분류에서Dev

비동기 대기 시도 catch 블록에서 응답을 보낼 때

분류에서Dev

curl로 요청을 보낼 때 잘못된 헤더 오류

분류에서Dev

크롬에 링크를 복사 할 때 파이썬에서 Google지도 API에서 잘못된 요청 응답을 받았습니다.

분류에서Dev

IBM Watson Personality Insights 서비스 : 잘못된 요청을 응답으로 제공

분류에서Dev

원격 서버가 예기치 않은 응답을 반환했습니다. (400) 잘못된 요청 WCF REST

분류에서Dev

c # foreach : 서버에 요청을 보내고 응답 받기

분류에서Dev

Android에서 SOAP 요청을 보내는 중입니다. 서버 응답 : "서버가 요청을 처리 할 수 없습니다."

분류에서Dev

SQL 요청에서 JOIN을 사용할 때 잘못된 SUM

분류에서Dev

lua에서 인라인 키보드를 보낼 때 응답 키보드 마크 업을 숨 깁니다.

분류에서Dev

Java에서 HTTP 요청을 보낼 때 연결 시간 초과

분류에서Dev

comman-line에서 요청을 보낼 때 HTTP 404 오류

분류에서Dev

comman-line에서 요청을 보낼 때 HTTP 404 오류

분류에서Dev

LUIS 응답에서 잘못된 요청으로 오류가 발생 함

Related 관련 기사

  1. 1

    서버에 요청을 보낼 때 잘못된 JSON

  2. 2

    서버 후 GET 요청의 잘못된 응답

  3. 3

    400 클라이언트에서 서버로 JSON 문자열을 보낼 때 잘못된 요청 예외

  4. 4

    post xml을 통해 quickblox에 인증 요청을 보낼 때 잘못된 서명 오류

  5. 5

    응답 REST에서 파일을 보낼 때 HTTP 204 오류

  6. 6

    GET 요청 후 POST 요청을 보낼 때 Flask보기 함수에서 요청 인수가 손실 됨

  7. 7

    PHP 스크립트에 요청을 보낼 때 잘못된 기호

  8. 8

    400 인증 코드에서 토큰을 얻기 위해 http post 요청을 보낼 때 잘못된 요청이 있습니까?

  9. 9

    개조가 포함 된 게시물 요청이 Android에서 잘못된 요청으로 응답합니다.

  10. 10

    Apache 서버에서 호스팅되는 Laravel 프레임 워크에서 개발 된 API가 Android 및 iOS 모바일 앱에서 요청 될 때 응답을받지 못함

  11. 11

    SOCKS 서버에서 Android Orbot 형식이 잘못된 응답

  12. 12

    재 시도가있는 AJAX 대기열 후속 요청에서 잘못된 페이로드를 보낼 때

  13. 13

    이메일을 보낼 때 잘못된 서버에 접속하려고하는 Postfix?

  14. 14

    Android에서 Laravel로 json 요청을 보낼 때 콘텐츠 유형 불일치

  15. 15

    서버에 게시 요청을 보낼 때 응용 프로그램이 중단됨

  16. 16

    Android JSON 서버 응답이 잘못된 오류 일 수 있음

  17. 17

    비동기 대기 시도 catch 블록에서 응답을 보낼 때

  18. 18

    curl로 요청을 보낼 때 잘못된 헤더 오류

  19. 19

    크롬에 링크를 복사 할 때 파이썬에서 Google지도 API에서 잘못된 요청 응답을 받았습니다.

  20. 20

    IBM Watson Personality Insights 서비스 : 잘못된 요청을 응답으로 제공

  21. 21

    원격 서버가 예기치 않은 응답을 반환했습니다. (400) 잘못된 요청 WCF REST

  22. 22

    c # foreach : 서버에 요청을 보내고 응답 받기

  23. 23

    Android에서 SOAP 요청을 보내는 중입니다. 서버 응답 : "서버가 요청을 처리 할 수 없습니다."

  24. 24

    SQL 요청에서 JOIN을 사용할 때 잘못된 SUM

  25. 25

    lua에서 인라인 키보드를 보낼 때 응답 키보드 마크 업을 숨 깁니다.

  26. 26

    Java에서 HTTP 요청을 보낼 때 연결 시간 초과

  27. 27

    comman-line에서 요청을 보낼 때 HTTP 404 오류

  28. 28

    comman-line에서 요청을 보낼 때 HTTP 404 오류

  29. 29

    LUIS 응답에서 잘못된 요청으로 오류가 발생 함

뜨겁다태그

보관