이벤트 C#.Net 는 말 직렬 포트 dataReceived 이벤트 정지를 받는 데이터

StackOverflow https://stackoverflow.com/questions/1201036

  •  05-07-2019
  •  | 
  •  

문제

나는 직렬 포트에서 구현 C#.나는에서 데이터를 얻기 SerialPort 고 나가는 데이터를 대기 유형의 컬렉션(전 세계적으로 선언했).내가 사용하 BackgroundWorker 스레드 프로세스는 데이터에서는 큐가 있습니다.문제입니다.면 직렬 포트의 중지 데이터를 전송 및 수신한 데이터 받지 않는 데이터가 될 것입니다 여전히 어떤 데이터 유지에서 내 큐는 데 필요한 처리합니다.방법은 없는 말이 있는 데이터 없음에서 나오는 SerialPort 또는 다른 단어에서 Port_dataReceived 중단 받는 모든 데이터입니다.할 수 있도록 프로세스는 모든 데이터는 것은 거기에서 큐가 있습니다.기 때문에 이번 확실 할 것이 있다는 것입니다하지 않는 모든 데이터에서 나오는 시리얼 포트는 지금 무엇이든 데이터 큐에서 마지막 남은 데이터 처리해야 합니다.사전에 감사합니다 - Chetan

도움이 되었습니까?

해결책

만약 당신이 사용하는 시스템입니다.IO.포트가 있습니다.SerialPort,다음 믿지 않는 무언가가 내장되어 있습니다.당신은 코드 필요합니다.

는 이유가 있는 거에 사용할 수 없습 DataReceived 이벤트와 프로세스는 데이터로 오니까?

이는 까다롭기 때문에 당신이 다루는 사실 SerialPort 리스너를 운영하고 다른 스레드에서,그래서 당신은 수도에 대해 걱정할 필요가 스레드를 안전 하지만,당신은 설정할 수 있는 글로벌 DateTime 변수 업데이트에 DataReceived 이벤트,그리고 그는지 확인하기 위해 코드에 보면 마지막 시간을 데이터가 수신되 이상되었습니다 n 초입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top