[iPhone高级] 基于XMPP的IOS聊天客户端程序(IOS端二)
接上一章的,这一章我们着重介绍XMPP
为了方便程序调用,我们把XMPP的一些主要方法写在AppDelegate中
在AppDelegate.m下这几个方法为:
定义完两个委托,我们就要在不同的Controller中实现这两个委托了
在好友Controller中实现<KKChatDelegate>并写入如下方法
- (IBAction)sendButton:(id)sender { //本地输入框中的信息 NSString *message = self.messageTextField.text; if (message.length > 0) { //XMPPFramework主要是通过KissXML来生成XML文件 //生成<body>文档 NSXMLElement *body = [NSXMLElement elementWithName:@"body"]; [body setStringValue:message]; //生成XML消息文档 NSXMLElement *mes = [NSXMLElement elementWithName:@"message"]; //消息类型 [mes addAttributeWithName:@"type" stringValue:@"chat"]; //发送给谁 [mes addAttributeWithName:@"to" stringValue:chatWithUser]; //由谁发送 [mes addAttributeWithName:@"from" stringValue:[[NSUserDefaults standardUserDefaults] stringForKey:USERID]]; //组合 [mes addChild:body]; //发送消息 [[self xmppStream] sendElement:mes]; self.messageTextField.text = @""; [self.messageTextField resignFirstResponder]; NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; [dictionary setObject:message forKey:@"msg"]; [dictionary setObject:@"you" forKey:@"sender"]; [messages addObject:dictionary]; //重新刷新tableView [self.tView reloadData]; } }上面都加了注释,大家应该能明白,接下来还有一个章节,我们会对发送的消息在界面进行美化,跟苹果自带的消息一样。谢谢大家有耐心看完,我这个人比较不喜欢打字,所以有的地方注释比较少,希望大家别介意,还有希望大家能够多多支持, 以后会接着介绍XMPP文件传输之类的内容。
- 2楼d40373920昨天 20:32
- 好厉害 最近正需要这个代码 坐等下一章····等着mes里面的to取出来后 怎么发给那个人····
- 1楼d40373920昨天 20:23
- 有点迫不及待了 可以发一份源码先学习一下么?derekhui@foxmail.com,有机会多多交流····