일반적인 c코드에선 usleep()
함수를 사용하고, VxWorks에선 taskDelay()
함수를 사용하여 송신 간격을 늘릴 수 있다.
#include <taskLib.h>
void sendEvent() {
while (eventTriggered) {
send(socket, data, dataLength, 0);
// 10ms 지연 추가
taskDelay(sysClkRateGet() / 100); // 1초를 100으로 나눠 10ms
}
}
장점
간단하게 구현 가능
단점
지연 값을 너무 크게 설정하면 데이터 응답 시간이 느려질 수 있음
송신 측에서 패킷을 전송 후 수신 측에서 응답 패킷(ACK)을 받으면 다음 패킷을 보내는 방식
장점
간단하고 확실하게 데이터 전송 가능
단점
전송 효율이 낮음