| 152 |
char remote_addr[256]; |
char remote_addr[256]; |
| 153 |
int remote_port; |
int remote_port; |
| 154 |
time_t t_used; |
time_t t_used; |
| 155 |
struct tm * tm_used; |
struct tm *tm_used; |
| 156 |
|
|
| 157 |
clearscr (); |
clearscr (); |
| 158 |
|
|
| 159 |
moveto (0, 0); |
moveto (0, 0); |
| 160 |
prints ("\033[1;32m正在测试往 %s (%s) 的连接,请稍候... \033[m\r\n", |
prints ("\033[1;32m正在测试往 %s (%s) 的连接,请稍候... \033[m\r\n", |
| 161 |
bbsnet_conf[n].host1, bbsnet_conf[n].ip); |
bbsnet_conf[n].host1, bbsnet_conf[n].ip); |
| 162 |
prints ("\033[1;32m如果在 %d 秒内无法连上,穿梭程序将放弃连接。\033[m\r\n", |
prints ("\033[1;32m如果在 %d 秒内无法连上,穿梭程序将放弃连接。\033[m\r\n", |
| 163 |
TIME_OUT); |
TIME_OUT); |
| 164 |
iflush (); |
iflush (); |
| 165 |
|
|
| 166 |
pHost = gethostbyname (bbsnet_conf[n].ip); |
pHost = gethostbyname (bbsnet_conf[n].ip); |
| 192 |
inet_ntoa (sin.sin_addr), ntohs (sin.sin_port)); |
inet_ntoa (sin.sin_addr), ntohs (sin.sin_port)); |
| 193 |
return -2; |
return -2; |
| 194 |
} |
} |
| 195 |
|
|
| 196 |
bzero (&sin, sizeof (sin)); |
bzero (&sin, sizeof (sin)); |
| 197 |
sin.sin_family = AF_INET; |
sin.sin_family = AF_INET; |
| 198 |
sin.sin_addr = *(struct in_addr *) pHost->h_addr_list[0]; |
sin.sin_addr = *(struct in_addr *) pHost->h_addr_list[0]; |
| 236 |
setsockopt (sock, IPPROTO_IP, IP_TOS, &tos, sizeof (int)); |
setsockopt (sock, IPPROTO_IP, IP_TOS, &tos, sizeof (int)); |
| 237 |
|
|
| 238 |
prints ("\033[1;31m连接成功!\033[m\r\n"); |
prints ("\033[1;31m连接成功!\033[m\r\n"); |
| 239 |
log_std ("BBSNET connect to %s:%d\n", |
log_std ("BBSNET connect to %s:%d\n", remote_addr, remote_port); |
|
remote_addr, remote_port); |
|
| 240 |
|
|
| 241 |
FD_ZERO (&inputs); |
FD_ZERO (&inputs); |
| 242 |
FD_SET (0, &inputs); |
FD_SET (0, &inputs); |
| 287 |
} |
} |
| 288 |
write (1, buf, len); |
write (1, buf, len); |
| 289 |
} |
} |
|
break; |
|
| 290 |
BBS_last_access_tm = time (0); |
BBS_last_access_tm = time (0); |
| 291 |
|
break; |
| 292 |
} |
} |
| 293 |
} |
} |
| 294 |
|
|
| 301 |
tm_used = gmtime (&t_used); |
tm_used = gmtime (&t_used); |
| 302 |
|
|
| 303 |
log_std ("BBSNET disconnect, %d days %d hours %d minutes %d seconds used\n", |
log_std ("BBSNET disconnect, %d days %d hours %d minutes %d seconds used\n", |
| 304 |
tm_used->tm_mday - 1, tm_used->tm_hour, tm_used->tm_min, tm_used->tm_sec); |
tm_used->tm_mday - 1, tm_used->tm_hour, tm_used->tm_min, |
| 305 |
|
tm_used->tm_sec); |
| 306 |
|
|
| 307 |
return 0; |
return 0; |
| 308 |
} |
} |