private void CheckPingLoop(ObjTerminalElement ote) { Ping ping; int idx, max; int timeOut = 1000; object userToken = null; ping = new Ping(); max = 3; for (idx = 0; idx < max; idx++) { m_bInCheckTerminal = true; ping.PingCompleted += new PingCompletedEventHandler(PingCompletedCallback); ping.SendAsync(ote.m_sIpAdrs, timeOut, userToken); while (true) { if (m_bInCheckTerminal == false) { break; } DoDispatch(); } if (m_bLocalCheckTerminal == true) { return; } } }
private void SetTerminalList(OdbcDataReader reader) { string sLTid; List <ObjTerminalElement> list; int max, idx; ObjTerminalElement ote = new ObjTerminalElement(); list = m_lstTerminalElement; ote.m_bCheck = true; sLTid = GetReaderString(reader, 0); ote.m_nId = m_libCmn.StrToInt(sLTid); ote.m_sName = GetReaderString(reader, 1); ote.m_sIpAdrs = GetReaderString(reader, 9); if (ote.m_sIpAdrs == "") { return; } max = list.Count; for (idx = 0; idx < max; idx++) { if (list[idx].m_nId == ote.m_nId) { ote.m_bCheck = list[idx].m_bCheck; break; } } m_lstNewTE.Add(ote); }
private void CheckTerminalPing() { List <ObjTerminalElement> list; ObjTerminalElement ote = new ObjTerminalElement(); int max, idx; if (m_bCheckUnisSystem == true) { m_bLocalCheckTerminal = false; m_Wnd.ODBCOpenUnisDB(); m_Wnd.ODBCSelecttTerminal(); m_Wnd.ODBCCloseUnisDB(); list = m_Wnd.GetTerminalElementList(); max = list.Count; for (idx = 0; idx < max; idx++) { if (list[idx].m_bCheck == true) { CheckPingLoop(list[idx]); if (m_bLocalCheckTerminal == true) { m_bCheckTerminal = true; return; } } } m_bCheckTerminal = false; if (m_Wnd.GetStatusDisplay() == true) { if (m_Wnd.GetStatusDisplay() == true) { txtStat.Text = "ターミナルが動いていません"; } } } }