찾다

 >  Q&A  >  본문

网络编程 - Java调用DataOuputStream的write方法写入数据第一个字节不知所踪

大家讲道理大家讲道理2837일 전960

모든 응답(4)나는 대답할 것이다

  • 巴扎黑

    巴扎黑2017-04-18 10:38:57

    TCP 끈적임 문제는 해결하셨나요?
    TCP이기 때문에 粘包 문제를 고려해야 합니다. 粘包문제가 해결되지 않으면 어떤 바이트가 패킷의 처음 4바이트인지 확인할 수 없습니다.

    간단히 말하면, 많은 바이트를 수신하며 이러한 바이트의 소스는 다음과 같습니다.

    • 2~3개 패킷의 바이트를 모두 함께 전송

    • 이전 패킷의 후반부와 다음 패킷의 바이트의 전반부가 함께 전송됩니다.

    • 간단히 말하면 반봉지나 접착봉지를 섞은 형태입니다

    우리는 TCP 끈적한 패킷 문제를 해결하기 위해 netty을 사용하고 있습니다. 다음은 netty에 기반한 잘 설명된 솔루션입니다: https://my.oschina.net/andylu...

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:38:57

    패킷을 캡처하지 않고 Java에서 직접 입력 스트림을 읽는다는 것은 무엇을 의미합니까?

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:38:57

    소켓 통신 헤더 문제입니다. 이전 프로젝트에서 처리한 방법은 다음과 같습니다.

    으아아아

    디버깅을 위해 수신 소켓을 작성하는 것이 좋습니다. 패킷 캡처 도구를 사용한 적이 없거나 상대방과 공동으로 디버깅할 수 있으면 괜찮습니다. 패킷 캡처에 문제가 있습니다.
    도움이 되었으면 좋겠습니다~

    회신하다
    0
  • 迷茫

    迷茫2017-04-18 10:38:57

    플러싱에 전화하셨나요?

    회신하다
    0
  • 취소회신하다