`
knight_black_bob
  • 浏览: 852985 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

xmpp openfire linux 安装 im 及时通讯服务器

阅读更多

 

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/



 
 
 谢谢您的赞助,我会做的更好!

  • 大小: 85.1 KB
  • 大小: 55 KB
  • 大小: 32.6 KB
  • 大小: 49.6 KB
  • 大小: 57.3 KB
  • 大小: 89.1 KB
  • 大小: 54 KB
  • 大小: 50.8 KB
  • 大小: 29 KB
  • 大小: 6.5 KB
  • 大小: 52.8 KB
0
0
分享到:
评论

相关推荐

    linux下openfire安装配置

    在Linux环境下,Openfire是一款基于Java的开源即时通讯(IM)服务器,它允许用户通过XMPP协议进行实时通信。为了在Linux系统上成功安装并配置Openfire,我们需要遵循一系列步骤,涉及的主要组件包括JDK(Java ...

    openfire和spark及时通讯,解压即运行

    Openfire是一款基于Java开发的服务器端即时通讯软件,它采用了XMPP协议,提供实时通信和协作功能。Openfire的主要特点包括: 1. **安全性**:支持SSL/TLS加密,确保通信过程中的数据安全。 2. **可扩展性**:基于...

    XMPP_tigase_IM服务部署安装

    通过以上的步骤,用户可以在本地环境中成功搭建起一个Tigase IM服务器。需要注意的是,为了充分发挥Tigase的优势,还需要进一步调整和优化配置,例如设置集群模式以支持更多用户、调整日志记录级别以更好地监控系统...

    xmpp+android+openfire+asmack即时通讯

    本篇文章将深入探讨基于XMPP协议的Android即时通讯系统实现,包括Openfire服务器的部署以及Asmack库的使用。 1. **XMPP协议**: XML Messaging Protocol(XMPP)是一种基于XML的开放标准协议,最初由Jabber项目...

    基于xmpp协议的多端即时通讯

    2. 安装OpenFire:安装Openfire服务器软件,它是即时通讯系统的核心组件。 3. 安装Mysql:为Openfire提供数据库支持,用于存储用户信息和通讯数据。 4. 安装Apache Tomcat:安装这个Java应用服务器是为了运行...

    openfire 安装文件及详细安装教程

    Openfire是一款开源、基于Java的即时通讯(IM)服务器,它允许企业或组织构建自己的实时通信平台。这个软件提供了一个安全、可扩展且易于管理的环境,支持多种协议,如XMPP(Extensible Messaging and Presence ...

    spark_smack_openfire.zip_openfire spark_spark xmpp_xmpp _xmpp op

    本资料主要探讨如何利用Apache Spark、Smack库以及Openfire服务器来构建一个基于XMPP协议的即时通讯系统。首先,我们需要了解这三个关键组件的作用。 1. **Openfire**:Openfire是一款开源、免费的企业级即时通讯...

    openfire4.1.6_linux版

    Openfire是一款开源、基于Java的即时通讯(IM)服务器,它允许企业或组织构建自己的实时通信网络。在本文中,我们将深入探讨Openfire 4.1.6 Linux版的特性和使用方法,以及如何在Linux环境中安装和配置。 Openfire...

    linux字符界面下openfire安装配置

    本文将详细介绍如何在Linux字符界面下安装和配置OpenFire服务器。OpenFire是一款开源的即时消息服务器,基于XMPP协议,支持多种客户端接入。本文以Ubuntu Server为例进行说明。 #### 二、准备工作 在开始安装之前,...

    使用开源协议软件搭建即时通讯服务器

    Openfire 是一款基于 XMPP 协议的开源即时通讯服务器,采用 GPL 许可证发布。它具有高度可扩展性和安全性,支持 Windows、Linux 和 Mac 等多个操作系统平台。目前最新的版本为 Openfire-3.5.2,在 Linux 系统上的...

    OpenFire+smack3.0.4 即时通讯Demo

    首先,OpenFire是一款用Java编写的开源XMPP服务器,它基于XMPP(Extensible Messaging and Presence Protocol)协议,这个协议被广泛用于即时通讯系统,提供实时通讯和在线状态等功能。OpenFire的特点包括高效、可...

    基于xmpp协议的多端即时通讯方案

    Openfire是一款开源的XMPP服务器,由Ignite Realtime社区维护和支持。它提供了高性能的即时通信和在线状态管理功能,并且易于部署和管理。 ##### 2、为什么使用Openfire - **开源免费**:Openfire是一款完全免费的...

    安装Openfire服务器

    Openfire是一款基于Java开发的实时通信(Instant Messaging, IM)服务器,它实现了XMPP(Extensible Messaging and Presence Protocol)协议,允许用户通过即时消息服务进行高效、安全的沟通。本教程将详细介绍如何...

    基于openfire + jwchat 的 WEB IM

    总结,"基于openfire + jwchat 的 WEB IM"项目利用Openfire的XMPP服务和jwchat的JavaScript库,在MyEclipse中构建了一个功能齐全的Web即时通讯系统。开发者通过整合前后端代码,实现了用户注册、登录、聊天等一系列...

    Openfire安装部署

    Openfire是一款基于Java开发的实时通信(Instant Messaging, IM)服务器,它支持XMPP协议,可以用于构建企业级的即时通讯系统。在这个“Openfire安装部署”压缩包中,你应该找到了进行Openfire安装和配置所需的所有...

    JAVA源码+openfire+spark 即时通讯

    其次,openfire是基于Java的开源IM服务器,它实现了XMPP(Extensible Messaging and Presence Protocol)协议,这是一种被广泛采用的即时通讯协议。Openfire不仅提供了基础的聊天功能,还支持群聊、推送通知、文件...

    XMPP协议工具openfire_3_10_3

    2. **多平台支持**:Openfire可以在Windows、Linux和macOS等多种操作系统上运行,提供跨平台的即时通讯解决方案。 3. **用户管理**:管理员可以通过Web界面轻松管理用户、群组和权限,适合企业级部署。 4. **集成...

    openfire3.10.0

    Openfire是基于Java开发的一款开源即时通讯(IM)服务器,其3.10.0版本提供了稳定且功能丰富的服务端平台,适用于企业级的实时通信需求。本文将深入解析Openfire 3.10.0及其在开发IM应用时的重要知识点。 **1. ...

    openfire_src_3_8_2.zip

    学习Openfire源码有助于理解IM服务器的工作原理,可以参考以下步骤: 1. **阅读源码**:从`src/core`和`src/plugins`开始,了解Openfire的核心组件和插件。 2. **理解协议**:通过阅读`src/proxy`和`src/xmpp`等...

    openfire服务端实现

    Openfire 是一款开源的即时通讯(Instant Messaging, IM)服务器,它基于XMPP(Extensible Messaging and Presence Protocol)协议,提供了高效且可扩展的实时通信平台。Openfire 的服务端主要由 Java 语言编写,...

Global site tag (gtag.js) - Google Analytics