xmpp openfire linux 安装 im 及时通讯服务器
技术栈: openfire+smack+spark
Smack是一个开源,易于使用的XMPP客户端类库。Smack API, 是一个 Java 的XMPP Client Library,也是由Jive Software开发。 优点:编程简单。 缺点:API并非为大量并发用户设计,每个客户要1个线程,占用资源大,1台机器只能模拟有限(数千个)客户。Smack是一个用 java 写的XMPP客户端代码库, 是 spark 的核心。
smack demo android :https://github.com/mini188/SmackDemo
spark 非大数据 spark ,类似 fetion 飞信的客户端
1.安装 java
jdk-7u79-linux-x64.tar.gz tar xf jdk-7u79-linux-x64.tar.gz vim /etc/profile export JAVA_HOME=/usr/java/jdk1.7.0_79 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib source /etc/profile java -version
2.mysql 安装
wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm yum localinstall -y mysql57-community-release-el7-7.noarch.rpm yum install -y mysql-community-server systemctl start mysqld.service grep 'temporary password' /var/log/mysqld.log 看见密码 【 Your password does not satisfy the current policy requirements】 set global validate_password_policy=0; 【Your password does not satisfy the current policy requirements】 select @@validate_password_length; set global validate_password_policy=0 SET PASSWORD = PASSWORD('66666666'); use mysql update user set host='%' where user='root' and host='localhost'; flush privileges; exit firewall-cmd --permanent --add-port=3306/tcp firewall-cmd --reload firewall-cmd --list-all mysql -uroot -p66666666 create database openfire; use openfire ; source openfire_mysql.sql update grant all on openfire.* to admin@"%" identified by '66666666' flush privileges; exit
3.openfire 安装
tar xf openfire_3_8_2.tar.gz cp openfire_3_8_2 /home/baoyou/soft/openfire_3_8_2 bin/openfire start firewall-cmd --permanent --add-port=9090/tcp firewall-cmd --permanent --add-port=9091/tcp firewall-cmd --reload firewall-cmd --list-all
4.访问地址
访问 openfire http://192.168.206.237:9090/
5.安装步骤
spark
6. openfire 数据库结构
7.java 測試
<!-- smack start --> <dependency> <groupId>jivesoftware</groupId> <artifactId>smack</artifactId> <version>3.1.0</version> </dependency> <!-- smack end -->
package com.baoy.cn.smack; import org.jivesoftware.smack.Chat; import org.jivesoftware.smack.ChatManager; import org.jivesoftware.smack.ConnectionConfiguration; import org.jivesoftware.smack.MessageListener; import org.jivesoftware.smack.PacketListener; import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.filter.PacketFilter; import org.jivesoftware.smack.filter.PacketTypeFilter; import org.jivesoftware.smack.packet.Message; import org.jivesoftware.smack.packet.Packet; /** * * @author baoy * */ public class SmackTest { public static XMPPConnection con; public static Chat newChat; public static ChatManager chatmanager; public static void main(String[] args) throws InterruptedException { try { // 配置域和端口号,域可以换成IP地址 ConnectionConfiguration config = new ConnectionConfiguration( "www.baoyou.com", 5222); // 新建一个XMPPConnection对象 con = new XMPPConnection(config); // 连接服务器 con.connect(); // 用户登录 con.login("1223716098", "111111"); // 是否已经通过身份验证 System.out.println("Authenticated = " + con.isAuthenticated()); addListener(); // 获取一个ChatManager对象 chatmanager = con.getChatManager(); newChat = chatmanager.createChat("1223716098@www.baoyou.com", new MessageListener() { public void processMessage(Chat chat, Message message) { System.out.println("I'm sending: " + message.getBody()); } }); newChat.sendMessage("hi"); } catch (XMPPException e) { e.printStackTrace(); } finally { // 让线程休眠 然后再关闭连接 Thread.sleep(20000000); con.disconnect(); } } private static void addListener() { // 包的过滤器 PacketFilter filterMessage = new PacketTypeFilter(Message.class); // 创建包的监听器 PacketListener myListener = new PacketListener() { public void processPacket(Packet packet) { // 以XML格式输出接收到的消息 System.out.println(packet.toXML()); System.out.println("From: " + packet.getFrom() + "\n"); System.out.println("Body: " + ((Message) packet).getBody()); try { // 尝试发送消息给服务器 newChat.sendMessage("hi again"); } catch (XMPPException e) { e.printStackTrace(); } } }; // 给连接注册一个包的监听器 con.addPacketListener(myListener, filterMessage); } }
8.openfire web 向所有用户发送
9.日志显示
10.注意
1. host 改为域名
linux
vim /etc/hosts
192.168.206.237 www.baoyou.com
windows
C:\WINDOWS\system32\drivers\etc\hosts
192.168.206.237 www.baoyou.com
2. JID 为 用户名@域名
eg: 1401155710@www.baoyou.com
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(支持支付宝和微信 以及扣扣群),没钱捧个人场,谢谢各位。
个人主页:http://knight-black-bob.iteye.com/
谢谢您的赞助,我会做的更好!
相关推荐
在Linux环境下,Openfire是一款基于Java的开源即时通讯(IM)服务器,它允许用户通过XMPP协议进行实时通信。为了在Linux系统上成功安装并配置Openfire,我们需要遵循一系列步骤,涉及的主要组件包括JDK(Java ...
Openfire是一款基于Java开发的服务器端即时通讯软件,它采用了XMPP协议,提供实时通信和协作功能。Openfire的主要特点包括: 1. **安全性**:支持SSL/TLS加密,确保通信过程中的数据安全。 2. **可扩展性**:基于...
通过以上的步骤,用户可以在本地环境中成功搭建起一个Tigase IM服务器。需要注意的是,为了充分发挥Tigase的优势,还需要进一步调整和优化配置,例如设置集群模式以支持更多用户、调整日志记录级别以更好地监控系统...
本篇文章将深入探讨基于XMPP协议的Android即时通讯系统实现,包括Openfire服务器的部署以及Asmack库的使用。 1. **XMPP协议**: XML Messaging Protocol(XMPP)是一种基于XML的开放标准协议,最初由Jabber项目...
2. 安装OpenFire:安装Openfire服务器软件,它是即时通讯系统的核心组件。 3. 安装Mysql:为Openfire提供数据库支持,用于存储用户信息和通讯数据。 4. 安装Apache Tomcat:安装这个Java应用服务器是为了运行...
Openfire是一款开源、基于Java的即时通讯(IM)服务器,它允许企业或组织构建自己的实时通信平台。这个软件提供了一个安全、可扩展且易于管理的环境,支持多种协议,如XMPP(Extensible Messaging and Presence ...
本资料主要探讨如何利用Apache Spark、Smack库以及Openfire服务器来构建一个基于XMPP协议的即时通讯系统。首先,我们需要了解这三个关键组件的作用。 1. **Openfire**:Openfire是一款开源、免费的企业级即时通讯...
Openfire是一款开源、基于Java的即时通讯(IM)服务器,它允许企业或组织构建自己的实时通信网络。在本文中,我们将深入探讨Openfire 4.1.6 Linux版的特性和使用方法,以及如何在Linux环境中安装和配置。 Openfire...
本文将详细介绍如何在Linux字符界面下安装和配置OpenFire服务器。OpenFire是一款开源的即时消息服务器,基于XMPP协议,支持多种客户端接入。本文以Ubuntu Server为例进行说明。 #### 二、准备工作 在开始安装之前,...
Openfire 是一款基于 XMPP 协议的开源即时通讯服务器,采用 GPL 许可证发布。它具有高度可扩展性和安全性,支持 Windows、Linux 和 Mac 等多个操作系统平台。目前最新的版本为 Openfire-3.5.2,在 Linux 系统上的...
首先,OpenFire是一款用Java编写的开源XMPP服务器,它基于XMPP(Extensible Messaging and Presence Protocol)协议,这个协议被广泛用于即时通讯系统,提供实时通讯和在线状态等功能。OpenFire的特点包括高效、可...
Openfire是一款开源的XMPP服务器,由Ignite Realtime社区维护和支持。它提供了高性能的即时通信和在线状态管理功能,并且易于部署和管理。 ##### 2、为什么使用Openfire - **开源免费**:Openfire是一款完全免费的...
Openfire是一款基于Java开发的实时通信(Instant Messaging, IM)服务器,它实现了XMPP(Extensible Messaging and Presence Protocol)协议,允许用户通过即时消息服务进行高效、安全的沟通。本教程将详细介绍如何...
总结,"基于openfire + jwchat 的 WEB IM"项目利用Openfire的XMPP服务和jwchat的JavaScript库,在MyEclipse中构建了一个功能齐全的Web即时通讯系统。开发者通过整合前后端代码,实现了用户注册、登录、聊天等一系列...
Openfire是一款基于Java开发的实时通信(Instant Messaging, IM)服务器,它支持XMPP协议,可以用于构建企业级的即时通讯系统。在这个“Openfire安装部署”压缩包中,你应该找到了进行Openfire安装和配置所需的所有...
其次,openfire是基于Java的开源IM服务器,它实现了XMPP(Extensible Messaging and Presence Protocol)协议,这是一种被广泛采用的即时通讯协议。Openfire不仅提供了基础的聊天功能,还支持群聊、推送通知、文件...
2. **多平台支持**:Openfire可以在Windows、Linux和macOS等多种操作系统上运行,提供跨平台的即时通讯解决方案。 3. **用户管理**:管理员可以通过Web界面轻松管理用户、群组和权限,适合企业级部署。 4. **集成...
Openfire是基于Java开发的一款开源即时通讯(IM)服务器,其3.10.0版本提供了稳定且功能丰富的服务端平台,适用于企业级的实时通信需求。本文将深入解析Openfire 3.10.0及其在开发IM应用时的重要知识点。 **1. ...
学习Openfire源码有助于理解IM服务器的工作原理,可以参考以下步骤: 1. **阅读源码**:从`src/core`和`src/plugins`开始,了解Openfire的核心组件和插件。 2. **理解协议**:通过阅读`src/proxy`和`src/xmpp`等...
Openfire 是一款开源的即时通讯(Instant Messaging, IM)服务器,它基于XMPP(Extensible Messaging and Presence Protocol)协议,提供了高效且可扩展的实时通信平台。Openfire 的服务端主要由 Java 语言编写,...