한국어 English Chinese Russian

질문&답변 게시판 / 기술지원



SSL 암호화로 사용자의 입력정보가 보호되고 있습니다.
No. 850 CSE-H53 SW관련 질문건 2011-02-23

안녕 하세요
CSE-H53과 t2s_vc.zip를 다운받아 테스트 중입니다.

저희 프로젝트의 구성도는
SET==(UART)==CSEH53==(LAN)==PC
이렇게 되어 있습니다.
SET에서 PC로 전송 되는 DATA가 40KB 정도씩 됩니다.
PC에서 셋트로 전송 되는 데이터는 20BYTE정도 입니다.


질문 드립니다.
코드를 보면 "DlgOnReceive(int nErrorCode)" 함수 안에서 데이터를 받는데,
40KB를 연속으로 데이터를 보낼 경우 자주 데이터가 깨집니다.
코드는 아래에 있습니다.
좀더 효율적으로 사용할 방법이 있는지요?

코드에 문제점이 있는지 검토 부탁 드립니다.
그럼 수고 하세요


=========== 아 래 =====================
void Ct2s_vs2008Dlg::DlgOnReceive(int nErrorCode)
{
int len,count;
CString msg;
//BYTE buf[1024];
unsigned char buf2[UART_MAX_CNT];

len = m_socket.Receive(buf2, UART_MAX_CNT, 0);
#if 0
for(count = 0; count < len; count++)
{
msg = buf2[count];
//m_console.ReplaceSel(msg);
}
#else
count = 0;
if (FindStartFlag==0)
{
for(count = 0; count < len; count++)
{
//msg = char(buf2[count]);
//m_console.ReplaceSel(msg);

if (buf2[count]==BK_UART_SB)
{
W_point = 0;
FindStartFlag = 1;

//memcpy (buf,&(buf2[len-count]),len-count);
memcpy (&(uart_R_data[W_index][W_point]),&(buf2[count]),len-count);
W_point += (len-count);

break;
}
}
}
else
{
memcpy (&(uart_R_data[W_index][W_point]),buf2,len);
W_point += len;
if (uart_R_data[W_index][W_point-1]==BK_UART_EB)
{
length = (uart_R_data[W_index][2]<<24)|(uart_R_data[W_index][3]<<16)|(uart_R_data[W_index][4]<<8)|(uart_R_data[W_index][5]);
FindStartFlag = 0;
// 이 부분에서 코드를 비교해보면 데이터가 깨진경우가 발생 합니다.
}
}
#endif
}

글쓴이 Anonymous 업체명


NO Subject Name Date Read
850 CSE-H53 SW관련 질문건 Anonymous 2011-02-23 4243
851 Re: CSE-H53 SW관련 질문건 솔내시스템(주) 2011-02-24 4185
852 Re: Re: CSE-H53 SW관련 질문건 Anonymous 2011-02-24 4078
853 Re: Re: Re: CSE-H53 SW관련 질문건 솔내시스템(주) 2011-02-24 4300
854 Re: Re: Re: Re: CSE-H53 SW관련 질문건 Anonymous 2011-02-24 4284
855 Re: Re: Re: Re: Re: CSE-H53 SW관련 질문건 솔내시스템(주) 2011-02-25 4385
856 Re: Re: Re: Re: Re: Re: CSE-H53 SW관련 질문건 Anonymous 2011-02-28 4092
857 Re: Re: Re: Re: Re: Re: Re: CSE-H53 SW관련 질문건 솔내시스템(주) 2011-02-28 4177