////////////////////////////////////////////////////////////////////////// /// /// socket_cli_init /// @author xuliang<*****@*****.**> /// @date 2010-09-27 ////////////////////////////////////////////////////////////////////////// int socket_cli_init(DWORD ip, DWORD port) { int fd; struct sockaddr_in addr; fd = socket( AF_INET, SOCK_STREAM, 0 ); if (fd < 0) { perror("socket"); return fd; } bzero(&addr, sizeof(addr)); addr.sin_family = AF_INET; addr.sin_addr.s_addr = (ip); addr.sin_port = htons(port); //连接目标相机 sys_print(FUNC, INFO, "it will connect to serv!\n"); if ( connect( fd, (const struct sockaddr *)&addr, sizeof(addr)) < 0 ) { perror("connect timeout"); writeLog(LOG_ERROR, "连接服务器失败[%s]\n", sys_ip2str_static(ip)); close(fd); return -1; } sys_print(FUNC, INFO, " connect to serv ok!\n"); writeLog(LOG_INFO, "连接服务器成功[%s]\n", sys_ip2str_static(ip)); return fd; }
void show_session(int id) { char* ptl[] = { "关闭", "TCP Client", "TCP Server", "UDP" }; fprintf(cgiOut, " <td width=\"22%%\" height=\"30\" align=\"center\" bgcolor=\"#f2f2f2\" class=\"left_txt\"><select name=\"ptl%d\" style=\"width:180px\">\n", id); int i; for(i = 0; i < 4; i++) { if(con_mode.session[id].protocol == i) fprintf(cgiOut, " <option selected=\"selected\">%s</option>\n", ptl[i]); else fprintf(cgiOut, " <option>%s</option>\n", ptl[i]); } fprintf(cgiOut, " </select></td>\n"); fprintf(cgiOut, " <td width=\"22%%\" height=\"30\" align=\"center\" bgcolor=\"#f2f2f2\" class=\"left_txt\"><input type=\"text\" name=\"ip%d\" value=\"%s\" size=\"30\" /></td>\n", id, sys_ip2str_static(con_mode.session[id].ip)); fprintf(cgiOut, " <td width=\"22%%\" height=\"30\" align=\"center\" bgcolor=\"#f2f2f2\" class=\"left_txt\"><input type=\"text\" name=\"lport%d\" value=\"%d\" size=\"30\" /></td>\n",id, con_mode.session[id].lport); fprintf(cgiOut, " <td width=\"22%%\" height=\"30\" align=\"center\" bgcolor=\"#f2f2f2\" class=\"left_txt\"><input type=\"text\" name=\"dport%d\" value=\"%d\" size=\"30\" /></td>\n", id, con_mode.session[id].dport); }