C#에서 특정 구분 기호가 발견 될 때까지 들어오는 TCP 스트림을 어떻게 읽습니까? 내가 가진 유일한 해결책은 한 번에 한 바이트 씩 들어오는 스트림을 읽는 것입니다.구분 기호가 발견 될 때까지 들어오는 TCP 스트림을 읽는 방법?
답변
TCP 소켓을 읽고 구분 기호를 검색하는 것은 다른 두 가지입니다.
비 블로킹 소켓의 사용 가능한 모든 데이터를 바이트 배열/문자열로 읽고 바이트 배열에서 해당 구분 기호를 검색 할 수 있습니다. 다음 읽기 시도를 위해 구분 기호 다음에 데이터를 저장하는 것을 포함하여 필요한 작업을 수행하십시오.
들어오는 데이터를 추가하기 위해 어떤 종류의 버퍼를 사용하는 것이 가장 좋으므로 소켓 작업은 데이터 처리를 정확히 지시하지 않습니다.
나는 그것을 두 번째로 할 것이다. 그것을 느리게 읽으면 어쨌든 파이프가 내려 오는 것을 바꿀 수 없으며 소켓/스트림에서 비효율적 인 읽기를 만듭니다. – spender
예. 한 번에 1 바이트 씩 TCP 소켓에서 읽는 것은 매우 비효율적입니다. 소켓에서 바이트 배열로 데이터를 읽은 다음 바이트 배열을 처리합니다. –
- 1. Java에서 TCP 스트림을 읽는 가장 효율적인 방법
- 2. TCP 메시지가 ACK 될 때까지 기다리는 방법
- 3. ACK가 반환 될 때까지 TCP 전송 차단
- 4. 파일을 읽는 동안 고유 한 구분 기호가 있습니다.
- 5. 특정 바이트까지 자바 스트림을 읽는 방법
- 6. PHP가 폭발(), 구분 기호가 반환됩니까?
- 7. 들어오는 TCP 연결 포트를 가져옵니다
- 8. 모든 바이트가 기록 될 때까지 스트림을 닫을 수 없습니다.
- 9. 자바에서 입력 스트림을 읽는 중
- 10. 대소 문자를 구분 발견() 메소드
- 11. 안드로이드에서 소켓 입력 스트림을 읽는 방법
- 12. gzipped 스트림을 읽는 동안 "압축을 해제하는 방법"
- 13. PowerShell에서 PowerShell의 디버그 스트림을 읽는 방법?
- 14. WCF REST - 스트림을 텍스트로 읽는 방법
- 15. \ n 구분 된 파일에서 문자열을 읽는 방법
- 16. Windows 소켓에서 TCP 창 크기를 읽는 방법?
- 17. 문자열로 변환하고 TCP 패킷에서 데이터를 읽는 방법
- 18. MultiAutoCompleteTextView에 대해 하나 이상의 구분 기호가 사용됩니까?
- 19. 안드로이드에서 목록 항목 사이에 구분 기호가 누락되었습니다.
- 20. 목록보기의 구분 기호가 두꺼운 경우와 두꺼운 경우
- 21. 구분 기호가 프록시로 반환되는 이유는 무엇입니까?
- 22. 파일 구분 기호가 "/"가 아닌 플랫폼이 있습니까?
- 23. 이미지가로드 될 때까지 이미지가 대체 될 때까지 기다림
- 24. TinyMCE가로드 될 때까지 기다려주십시오.
- 25. 이벤트가 완료 될 때까지 대기하는 방법
- 26. ABPeoplePickerNavigationController가 해제 될 때까지 기다리는 방법
- 27. 문서가 페이지에로드 될 때까지 이미지를로드하는 방법
- 28. 스트림 쓰기가 완료 될 때까지 대기하는 방법
- 29. 이미지가 Java로 완전히로드 될 때까지 대기하는 방법
- 30. 조건이 충족 될 때까지 컨트롤을 비활성화하는 방법?
바이트 구분 기호 또는 텍스트 (char) 구분 기호? –