网站首页 >> 创业资讯 >> 正文 提交收录

xmpp聊天完整源码(xmpp python)

时间:2022年10月14日 11:10:18

本文目录一览:

iOS怎么搭建xmpp聊天

iOS 搭建xmpp聊天的具体步骤如下:

聊天室

[cpp] view plain copy

print?

//初始化聊天室

XMPPJID *roomJID = [XMPPJID jidWithString:ROOM_JID];

xmppRoom = [[XMPPRoom alloc] initWithRoomStorage:self jid:roomJID];

[xmppRoom activate:xmppStream];

[xmppRoom addDelegate:self delegateQueue:dispatch_get_main_queue()];

[cpp] view plain copy

print?

//创建聊天室成功

- (void)xmppRoomDidCreate:(XMPPRoom *)sender

{

DDLogInfo(@"%@: %@", THIS_FILE, THIS_METHOD);

}

[cpp] view plain copy

print?

//加入聊天室,使用昵称

[xmppRoom joinRoomUsingNickname:@"quack" history:nil];

[cpp] view plain copy

print?

//获取聊天室信息

- (void)xmppRoomDidJoin:(XMPPRoom *)sender

{

[xmppRoom fetchConfigurationForm];

[xmppRoom fetchBanList];

[xmppRoom fetchMembersList];

[xmppRoom fetchModeratorsList];

}

如果房间存在,会调用委托

[cpp] view plain copy

print?

// 收到禁止名单列表

- (void)xmppRoom:(XMPPRoom *)sender didFetchBanList:(NSArray *)items;

// 收到好友名单列表

- (void)xmppRoom:(XMPPRoom *)sender didFetchMembersList:(NSArray *)items;

// 收到主持人名单列表

- (void)xmppRoom:(XMPPRoom *)sender didFetchModeratorsList:(NSArray *)items;

房间不存在,调用委托

[cpp] view plain copy

print?

- (void)xmppRoom:(XMPPRoom *)sender didNotFetchBanList:(XMPPIQ *)iqError;

- (void)xmppRoom:(XMPPRoom *)sender didNotFetchMembersList:(XMPPIQ *)iqError;

- (void)xmppRoom:(XMPPRoom *)sender didNotFetchModeratorsList:(XMPPIQ *)iqError;

离开房间

[cpp] view plain copy

print?

[xmppRoom deactivate:xmppStream];

[cpp] view plain copy

print?

//离开聊天室

- (void)xmppRoomDidLeave:(XMPPRoom *)sender

{

DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);

}

其他 ***

[cpp] view plain copy

print?

//新人加入群聊

- (void)xmppRoom:(XMPPRoom *)sender occupantDidJoin:(XMPPJID *)occupantJID

{

DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);

}

//有人退出群聊

- (void)xmppRoom:(XMPPRoom *)sender occupantDidLeave:(XMPPJID *)occupantJID

{

DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);

}

//有人在群里发言

- (void)xmppRoom:(XMPPRoom *)sender didReceiveMessage:(XMPPMessage *)message fromOccupant:(XMPPJID *)occupantJID

{

DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);

}

如何自己搭建一个xmpp,实现推送消息

主要有三种方式:

1.客户端定时去服务端取或者保持一个长Socket,从本质讲这个不叫推送,这是去服务端拽数据。但是实现简单,主要缺点:耗电等。

2.Google的C2DM,具体不细说,缺点,服务器在国外,你懂得,不是很稳定。

3.XMPP协议,它是一种基于XML的传递协议,具有很强的灵活性和可扩展性。它的特点是将复杂性从客户端转移到了服务器端。

接下来说说XMPP在android客户端上的应用。分两部分:服务端搭建和客户端实现。

服务端搭建:

如果想测试一下功能,直接用搭建好的服务就行,下载androidpn-server-0.5.0-bin.zip 。

点击bin目录下得run.bat,直接搭好服务,在浏览器上输入   就进入管理界面。如下图:

客户端实现:

下载工程源码  androidpn-client-0.5.0.zip (347.74 KB, 下载次数: 25185) ,导入工程,运行前更改一处IP地址,修改androidpn.properties文件中的xmppHost为xmppHost=10.0.2.2

原因:模拟器访问本机需要改成10.0.2.2,下图为SDK中说明。

从服务端发送消息,客户端运行的界面:

GitHub 上有哪些完整的 iOS-App 源码值得参考

ProducthuntOSX

Mac 上开源的 Product Hunt OSX 客户端软件

GanHuoCode

干货集中营的第三方iOS客户端

ESTMusicPlayer

一款基于 DOUAudioStreamer 开发的一款优雅简洁的音乐播放器.

beautifulApp

用Swift做的一个高仿最美应用

Geofancy

The Geofancy iOS app. Helping you to get the best out of your automated home, geofencing, iBeacons at your hand.

CocoaChinaPlus

CocoaChina+是一款开源的第三方CocoaChina移动端。整个App都用Swift2.0编写(除部分第三方OC代码外,比如JPush和友盟)。

Dunk

Dribbble客户端

ganchai

干柴(客户端、服务端)

phphub-ios

PHPHub iOS客户端

高仿糯米

高仿糯米

知乎日报

用swift2.0实现的知乎日报iOS客户端

HackerNewsReader

Hacker News iOS客户端

以下是我整理的iOS开源App的一部分,其中不乏有许多不错的项目,后续更多都会整理在:iOS开源项目 - MobDevGroup上

iBBS-Swift

一款用Swift写的BBS客户端

SmallDay

用Swift 实现的高仿小日子

Swift-Radio-Pro

Professional Radio Station App, created w/ Swift 2.0

zulip-ios

Dropbox收购公司内部社交服务商Zulip,然后全部开源,这是iOS App

DesignerNewsApp

Build a Swift App as a designer

firefox-ios

Firefox for iOS

iphone-app

开源中国的iPhone客户端源码

Git@OSC

Git@OSC iPhone 客户端,方便用户查看Git@OSC的项目以及简单的操作issue等

Coding

Coding官方客户端 GitHub地址

Coding iPad版

Coding官方客户端

iOSSF

SegmentFault官方App

ioctocat

GitHub第三方客户端

iTunesPicker

类似AppStore的一个应用

Doppio

寻找最近的星巴克

swiftmi-app

swift迷 - 专业的Apple swift开发中文社区 app版本 采用Swift实现

Cheddar

一个日程管理的App

BeeFancy

仿Fancy官方APP的WIREFRAME,基于BeeFramework

Anypic

类似于Instagram的一款App

SXNews

模仿网易新闻做的精仿网易新闻

iReddit

Reddit iPhone客户端

readdit

Reddit iPad客户端

豆瓣相册

Slowslab iOS应用 豆瓣相册 精选集 开源项目

ChatSecure-iOS

Objective-C写的XMPP聊天应用

NotificationChat

Objective-C写的完整的聊天应用

Swift-ZhihuDaily

用Swift实现的仿知乎日报应用

FakeZhihuDaily

仿知乎日报iOS客户端

edhita

用Swift实现的iOS平台开源文本编辑器。

ruby-china-for-ios

RubyChina官方客户端

Meizi

豆瓣妹子图iOS客户端

HackerNews

用Swift写的Hacker News 阅读 iOS App

SwiftHN

另外一个用Swift写的Hacker News 阅读App

News-YC

Hacker News阅读类iOS App

twidere

twitter 第三方客户端

2048

用SpriteKit实现的2048游戏

PlainReader

一款 iOS(iPhone + iPad) 新闻类客户端,内容抓取自

swift-2048

用Swift实现的2048游戏

iOS-2048

用Objective-C实现的2048游戏

FlappySwift

用swift实现的flappy bird游戏

ECMobile_iOS

基于ECShop的手机商城客户端

kxmovie

用ffmpeg写的iOS视频播放器

*** -ios

*** 官方App, 已上架

Sol

漂亮的扁平风格的天气App

Project-RainMan

用Swift写的天气类App

SwiftWeather

用Swift写的天气类App

v2ex

v2ex第三方iOS客户端

V2EXClient

Swift实现的V2EX iOS客户端

VPNOn

VPN连接管理,支持Apple Watch,已上架

Monkey

GitHub第三方iOS客户端

JokeClient-Swift

基于swift,用糗事百科的API简单做了一个糗百客户端,可以浏览各种段子,浏览搞笑图片,查看精彩评论等.

Watch

Dribbble第三方客户端

MyOne-iOS

用OC写的《一个》 iOS 客户端

BaiduFM-Swift

百度FM swift语言实现

WNXHuntForCity

高仿城觅2.0 by-objective-c

Tomate

圆盘式计时器

eigen

The Art World in Your Pocket or Your Trendy Tech Company's Tote, Artsy's iOS app.

WWDC

WWDC app for OS X