static public int Remoter_Remove(byte[] IP) { int i; lock (remoterManageLock) { for (i = 0; i < REMOTEMAX; i++) { if (remoter[i].isValid == 1) { if (ArrayDeal.vs_strstr(remoter[i].IP, IP, 4) > 0) { remoter[i].isValid = 0; count--; if (remoter[i].Audioflag > 0) { audio_count--; } if (remoter[i].Videoflag > 0) { video_count--; } Console.WriteLine("Remove:i =%d, Remotenum = " + count); return(i); } } } } return(-1); }
static public int Remoter_Search(byte[] IP) { int i; lock (remoterManageLock) { for (i = 0; i < REMOTEMAX; i++) { if (remoter[i].isValid == 1) { if (ArrayDeal.vs_strstr(remoter[i].IP, IP, 4) > 0) { //printf("Remoter_Search:%d\n",i); return(i); } } } } return(-1); }
static public void udp_deal(byte[] ip, int source_port, byte[] buff, int len) { VsProtocol.Pack pack = new VsProtocol.Pack(buff); if (ArrayDeal.vs_strstr(CallTabPage.PublicHead, pack.PublicHead, 10) == 0)//&& // ArrayDeal.vs_strstr(onvif_manage.PublicHead, pack.PublicHead, 10) == 0) { //printf("public head no match\r\n"); return; } if (udp_filter(pack.DestAddr) == false) { //vs_printf2("udp_filter: ",addr, 0, 6); return; } switch (pack.FunCode) //第28位为功能码,区分是哪个功能模块的指令 { case 0x01: //生产测试指令 break; case 0x02: //系统配置指令 break; case 0x03: //呼叫对讲相关指令 // if(Call_Record_Common_Deal(buff, ip, source_port, len) == AK_SUCCESS) // { // break; // } stat_fun[(int)talkback.get_talkback_state()](buff, ip, source_port, len); break; case 0x04: //门禁功能相关指令 //DoorFunc_Deal(ip, source_port, buff, len); break; case 0x05: //AlarmUdpDeal(ip, source_port, buff, len); break; case 0x06: //信息交互功能相关指令 //Information_Deal(ip, source_port, buff, len); break; case 0x07: //管理应用功能相关指令 //Manage_Common_Deal(ip, source_port, buff, len); break; case 0x08: //电梯联动相关指令 break; case 0x10: //户内相关功能指令 /* * if(Indoor_Func_Deal(ip, source_port, buff, len) == -1) * { * MiniOS_Common_Deal(ip, source_port, buff, len); * }*/ break; case 0x0a: //网络摄像头监控相关指令 //Onvif_ComPort_Deal(buff, ip, source_port, len); break; case 0x20: //File_Transfer_Common_Deal(buff, ip, source_port, len); break; default: break; } }