package headFirst;
import java.util.Collection;
import org.jivesoftware.smack.AbstractXMPPConnection;
import org.jivesoftware.smack.ConnectionConfiguration;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.chat.Chat;
import org.jivesoftware.smack.chat.ChatManager;
import org.jivesoftware.smack.chat.ChatMessageListener;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.packet.Presence;
import org.jivesoftware.smack.roster.Roster;
import org.jivesoftware.smack.roster.RosterEntry;
import org.jivesoftware.smack.tcp.XMPPTCPConnection;
import org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration;
import org.jxmpp.jid.DomainBareJid;
import org.jxmpp.jid.EntityJid;
import org.jxmpp.jid.Jid;
import org.jxmpp.jid.impl.JidCreate;
public class SmackApi implements ChatMessageListener {
static AbstractXMPPConnection conn1;
public void login(String userName, String password) throws Exception {
DomainBareJid serviceName = JidCreate.domainBareFrom(“babu-pc”);
XMPPTCPConnectionConfiguration.Builder config = XMPPTCPConnectionConfiguration
.builder();
config.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
config.setHost(“localhost”);
config.setPort(5222);
config.setXmppDomain(serviceName);
config.setDebuggerEnabled(true);
// XMPPTCPConnection conn1 = new XMPPTCPConnection(config.build());
AbstractXMPPConnection conn1 = new XMPPTCPConnection(config.build());
try {
System.out.println(“connecting”);
conn1.setPacketReplyTimeout(10000);
conn1.connect();
conn1.login(userName,password );
Message msg = new Message();
msg.setBody(“hi”);
sendMessage(msg,"admin@babu-pc);
error// The method sendMessage(Message, EntityJid) in the type SmackApi is not applicable for the arguments (Message, String)
} catch (Exception e) {
}
}
public void sendMessage(Message message, EntityJid to) throws Exception {
System.out.println(“called”);
ChatManager chatmanager = ChatManager.getInstanceFor(conn1.connect());
Chat chat = chatmanager.createChat(to, this);
System.out.println(“to this”+chat.getThreadID());
chat.sendMessage(message);
}
public void processMessage(Chat chat, Message message) {
System.out.println("Received something: " + message.getBody());
if (message.getType() == Message.Type.chat)
System.out.println(chat.getParticipant() + " says: "
- message.getBody());
}
public static void main(String args[]) throws XMPPException, Exception {
SmackApi c = new SmackApi();
System.out.println("-----");
System.out.println(“Login information:”);
c.login(“babu”, “12345”);
}
}