public void runThread() { logwrite.write("Finesse FinesseKeepAlive", "Finesse FinesseKeepAlive Thread Start!!"); try { while (true) { Thread.Sleep(10000); string agentID = agent.getAgentID(); string serverIP = finesseClient.getCurrentServerIP(); FinesseDomain domainVO = FinesseDomain.getInstance(); string domain = domainVO.getFinesseDomain(); string strMsg = @"<iq id='" + agentID + "@" + serverIP + "/pidgin' to='" + domain + "' type='get' from='" + agentID + "@" + serverIP + "/pidgin'><ping xmlns='urn:xmpp:ping'/></iq>"; logwrite.write("Finesse FinesseKeepAlive", "SEND -> " + strMsg); writer.WriteLine(strMsg); writer.Flush(); } } catch (Exception e) { if (writer != null) { writer.Close(); } if (sock != null) { sock.Close(); } } }
private int startPreProcess() { try { int tempindex = 0; FinesseDomain domain = FinesseDomain.getInstance(); UTIL util = new UTIL(); string strID = "insungUCDev"; Random random = new Random(); int ranNum = random.Next(1, 10); string strMsg = @"<?xml version='1.0' ?><stream:stream to='" + (string)currentServer["IP"] + "' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>"; send(strMsg); if (recv(tempindex++) != ERRORCODE.SUCCESS) { return(ERRORCODE.FAIL); } if (recv(tempindex++) != ERRORCODE.SUCCESS) { return(ERRORCODE.FAIL); } strMsg = @"<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN' xmlns:ga='http://www.google.com/talk/protocol/auth' ga:client-uses-full-bind-result='true'>" + util.AuthBase64_IDAndPw(agent.getAgentID(), agent.getAgentPwd()) + "</auth>"; send(strMsg); if (recv(tempindex++) != ERRORCODE.SUCCESS) { return(ERRORCODE.FAIL); } strMsg = @"<stream:stream to='" + (string)currentServer["IP"] + "' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>"; send(strMsg); if (recv(tempindex++) != ERRORCODE.SUCCESS) { return(ERRORCODE.FAIL); } strMsg = @"<iq type='set' id='" + strID + util.lpad(Convert.ToString(ranNum), "a", 3) + "'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>isi</resource></bind></iq>"; send(strMsg); if (recv(tempindex++) != ERRORCODE.SUCCESS) { return(ERRORCODE.FAIL); } ranNum++; strMsg = @"<iq type='set' id='" + strID + util.lpad(Convert.ToString(ranNum), "a", 3) + "'><session xmlns='urn:ietf:params:xml:ns:xmpp-session'/></iq>"; send(strMsg); if (recv(tempindex++) != ERRORCODE.SUCCESS) { return(ERRORCODE.FAIL); } ranNum++; strMsg = @"<iq type='get' id='" + strID + util.lpad(Convert.ToString(ranNum), "a", 3) + "' to='" + domain.getFinesseDomain() + "'><query xmlns='http://jabber.org/protocol/disco#items'/></iq>"; send(strMsg); if (recv(tempindex++) != ERRORCODE.SUCCESS) { return(ERRORCODE.FAIL); } ranNum++; strMsg = @"<iq type='get' id='" + strID + util.lpad(Convert.ToString(ranNum), "a", 3) + "' to='" + domain.getFinesseDomain() + "'><query xmlns='http://jabber.org/protocol/disco#info'/></iq>"; send(strMsg); if (recv(tempindex++) != ERRORCODE.SUCCESS) { return(ERRORCODE.FAIL); } ranNum++; strMsg = @"<iq type='get' id='" + strID + util.lpad(Convert.ToString(ranNum), "a", 3) + "'><vCard xmlns='vcard-temp'/></iq>"; strMsg += @"<iq type='get' id='" + strID + util.lpad(Convert.ToString(ranNum), "a", 3) + "'><query xmlns='jabber:iq:roster'/></iq>"; strMsg += @"<iq type='get' id='" + strID + util.lpad(Convert.ToString(ranNum), "a", 3) + "' to='" + domain.getFinesseDomain() + "'><query xmlns='http://jabber.org/protocol/disco#items' node='http://jabber.org/protocol/commands'/></iq>"; strMsg += @"<iq type='get' id='" + strID + util.lpad(Convert.ToString(ranNum), "a", 3) + "' to='proxy.eu.jabber.org'><query xmlns='http://jabber.org/protocol/bytestreams'/></iq>"; send(strMsg); if (recv(tempindex++) != ERRORCODE.SUCCESS) { return(ERRORCODE.FAIL); } if (recv(tempindex++) != ERRORCODE.SUCCESS) { return(ERRORCODE.FAIL); } ranNum++; strMsg = @"<iq type='get' id='" + strID + util.lpad(Convert.ToString(ranNum), "a", 3) + "' to='proxy." + domain.getFinesseDomain() + "'><query xmlns='http://jabber.org/protocol/bytestreams'/></iq>"; send(strMsg); if (recv(tempindex++) != ERRORCODE.SUCCESS) { return(ERRORCODE.FAIL); } ranNum++; strMsg = @"<presence><priority>1</priority><c xmlns='http://jabber.org/protocol/caps' node='http://pidgin.im/' hash='sha-1' ver='I22W7CegORwdbnu0ZiQwGpxr0Go='/><x xmlns='vcard-temp:x:update'><photo/></x></presence>"; strMsg += @"<iq type='set' id='" + strID + util.lpad(Convert.ToString(ranNum), "a", 3) + "'><pubsub xmlns='http://jabber.org/protocol/pubsub'><publish node='http://jabber.org/protocol/tune'><item><tune xmlns='http://jabber.org/protocol/tune'/></item></publish></pubsub></iq>"; send(strMsg); if (recv(tempindex++) != ERRORCODE.SUCCESS) { return(ERRORCODE.FAIL); } ranNum++; } catch (Exception e) { logwrite.write("startPreProcess", e.ToString()); return(ERRORCODE.FAIL); } return(ERRORCODE.SUCCESS); }