잘 될때는 아무런 문제가 안되지만,,쩝 TCP 연결을 시도 했는데 상대방이 없거나 통신 두절인 경우 타임아웃 발생시까지 너무 오래 기다리고 있는 자신을 발견하게 된다!
안되면 그냥 한 5초 만에 결과를 알려줘!!!
이렇게 수정하고 싶은데, 음 이것도 쉽게 허락해 주지 않아.
암튼 대충 돌려보고 되는 코드는 아래와 같음
/* TCP connction timeout - 5 second */
uint32_t timeout = 5;
CfgAddEntry(hCfg, CFGTAG_IP, CFGITEM_IP_SOCKTIMECONNECT, CFG_ADDMODE_UNIQUE, sizeof(uint32_t), (uint8_t *)&timeout, 0);
uint32_t timeout_get1;
/* Print the IP address information only if one is present. */
int ret = CfgGetImmediate(hCfg, CFGTAG_IP, CFGITEM_IP_SOCKTIMECONNECT, 1, sizeof(uint32_t), (uint8_t *)&timeout_get1);
UART_printf("Connection timeout (changed): %d %d\n", ret, timeout_get1);
CFGITEM_IP_SOCKTIMECONNECT 라는 설정 부분이 있어 이 부분의 값을 넣어 주면 되는 것 같다.
코드 처럼 5 라는 값을 써 주는 것도 이게 무슨 코드가 이렇게 복잡한지.
무튼 동작은 한다!!
Connect 0800a8c0:8913==================
failed connect (60)
코드 적용 전에는 60 에러 메시지를 받기까지 한 60초 이상 걸리는데, 코드 적용후에는 5초 정도 지나면 에러 출력한다.
물론 non blocking 처리해서 막 짤 수 있는 방법이 있겠지만, 로직이 브랜치가 많으면 힘듬.......
현재 값을 읽어 보려고 아래 읽는 코드도 넣어 봤다.
5를 넣고 읽으니 정상으로 읽히는 것을 확인 할 수 있었는데, 쩝 5를 쓰기 전에 암만 읽어도 읽을 수가 없네 즉, 초기값은 못 읽었다는 후문이........
마 그냥 쓰자 ^^;
BJ.
'IT > IoT | Hardware' 카테고리의 다른 글
ESP32-WROVER SPI 연결 고민 - 모듈 기본 구성 이미지 (2) | 2021.09.16 |
---|---|
RaspberryPi Pico 보드 C/C++ 빌드 with MSYS2 (0) | 2021.09.14 |
TI SDK 예제 CCS 로 컴파일 실행하기 (0) | 2021.09.03 |
TI RTOS SDK 관련 정보들 (1) | 2021.08.31 |
Raspberry Pi Pico + Ethernet 연결하기 4 - 속도측정 라즈베리파이 피코 W5500 (0) | 2021.04.27 |