int sock = socket(AF_INET, SOCK_STREAM, 0);
struct sockaddr_in srv;
srv.sin_family = AF_INET;
srv.sin_port = htons(8080);
inet_pton(AF_INET, "192.168.1.10", &srv.sin_addr);
int retry = 0;
while(connect(sock, (struct sockaddr*)&srv, sizeof(srv)) < 0){
if(++retry > 10) reboot(); // 放弃重启
delay(1000 * (1 << min(retry, 5))); // 指数退避
}
// 之后 send/recv,超时用 select/poll