2012-01-15 3 views
0

현재 Twitter API에서 스트림을 읽고이를 개체로 구문 분석하는 앱에서 작업하고 있습니다. 현재 스트림을 읽고 DataContractJsonSerializer의 ReadObject를 사용하여 객체를 만듭니다.실패 허용치가있는 끝없는 스트림을 계속 읽는 방법

위대한 작품입니다!

HOWEVER : 내 프로그램이 스트림 (인터넷 속도가 느려지거나 승/e)을 따라 잡을 확률이 낮아서 파싱 할 데이터가 충분하지 않을까 걱정됩니다.이 메서드는 아마 예외를 throw하지만 새로운 데이터를 기다린 다음 동일한 객체를 다시 시도하고 계속 진행하고 싶습니다.

또한 데이터를 스트림이나 이런 식으로 입력 할 경우 어떻게하면 더 안정적인 메서드를 만들 수 궁금 해서요. 어떤 답변/아이디어에 미리

감사합니다 :)

+0

데이터가 손상된 경우에만 예외가 발생할 수 있습니다. 그렇지 않으면 데이터를 처리 할 수있을만큼 빨리 역 직렬화합니다. – Groo

답변

0

프로그램이 트위터 피드로 잡는다 경우 읽기를 완료하는 데 충분한 데이터를 얻을 때까지 DCJS 그냥 차단해야합니다. 스트림은 독자의 대기 시간을 숨기기 위해 설계되었으므로 일반적으로 문제가되지 않습니다.

메모리를 다 써 버리고 오돔을 던질 때까지 추락하지 않고 프로그램이 중단 될 가능성이 훨씬 더 높습니다.

필자는 스트림을 파리에서 파싱하려고 시도하는 것이 아니라 파일과 같은 파일에 쓰고 그 파일을 읽어서 (어쩌면 병렬 파일이나 롤링 파일을 사용하여) 읽을 것을 제안합니다.

+0

귀하의 반응에 감사드립니다! 그러나 파일 스트림이 있는데 스트림에서 실수를 어떻게 잡을 수 있습니까? 나는 중요한 정보를 알고 싶다. 어떻게 데이터의 다음 좋은 평화를 찾을 수 있을까? 내가 책을 읽지 못하면 결국 파일을 건너 뛰고 파일의 최신 부분 중 하나에서 계속하기를 원할 것입니다. 이것은 또한 시작하기 좋은 곳을 찾는 것입니다. 비록 내가 그것에 대해 생각한다면, 나는 PC가 인터넷 스트림에서 데이터를 느리게 처리하는 것을 의심한다. 처리가 struct/class로 구문 분석한다는 것을 의미한다. – user1149942

관련 문제