2010-03-11 4 views

답변

6

TCP 소켓을 읽고 구분 기호를 검색하는 것은 다른 두 가지입니다.

비 블로킹 소켓의 사용 가능한 모든 데이터를 바이트 배열/문자열로 읽고 바이트 배열에서 해당 구분 기호를 검색 할 수 있습니다. 다음 읽기 시도를 위해 구분 기호 다음에 데이터를 저장하는 것을 포함하여 필요한 작업을 수행하십시오.

들어오는 데이터를 추가하기 위해 어떤 종류의 버퍼를 사용하는 것이 가장 좋으므로 소켓 작업은 데이터 처리를 정확히 지시하지 않습니다.

+0

나는 그것을 두 번째로 할 것이다. 그것을 느리게 읽으면 어쨌든 파이프가 내려 오는 것을 바꿀 수 없으며 소켓/스트림에서 비효율적 인 읽기를 만듭니다. – spender

+1

예. 한 번에 1 바이트 씩 TCP 소켓에서 읽는 것은 매우 비효율적입니다. 소켓에서 바이트 배열로 데이터를 읽은 다음 바이트 배열을 처리합니다. –

관련 문제