`
flymz
  • 浏览: 3704 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

RTX Server SDK开发发送消息

J# 
阅读更多
package message;

import java.io.ByteArrayInputStream;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;

import rtx.RTXSvrApi;

public class UserManager {
	
	public UserManager(){
		
	}
	
	public static final String NO_SEND_POST_CODE_FLAG = "000000";

	/**
	 * 发送消息
	 * @param receivers
	 * @param title
	 * @param message
	 * @param delayTime
	 * @return
	 */
	public boolean sendMessage(String receivers, String title, String message,
			String delayTime) {
		int iRet = -1;
		boolean result = false;
		RTXSvrApi rtxsApi = new RTXSvrApi();
		if (rtxsApi.Init()) {
			iRet = rtxsApi
					.sendNotify(receivers, title, message, "0", delayTime);
			if (iRet == 0) {
				System.out.println("发送成功");
				result = true;
			} else {
				System.out.println("发送失败");
				result = false;
			}
		}
		rtxsApi.UnInit();
		return result;
	}

	/**
	 * 获取发送的用户(如果postcode为000000 则不发送)
	 * @return
	 */
	public String getSendUsers() {
		String users = getAllUsers();
		if(users.endsWith(",")){
			users = users.substring(0, users.length()-1);
		}
		return users;
	}
	
	public boolean loginUser(String userName,String password){
		RTXSvrApi rtxsApi = new RTXSvrApi();
		String uid = null;
		if (rtxsApi.Init()) {
			String[][] str = rtxsApi.GetUserSimpleInfo(userName);
			for(int i=0;i<str.length;i++){
			    for(int j=0;j<str[i].length;j++){
			    	String pwd = str[i][j];
			    	if("UIN".equals(pwd)){
			    		uid = str[i][j+1];
			    		break;
			    	}
			    }
			}
		}
		rtxsApi.UnInit();
		if(uid==null){
			return false;
		}else{
			
		}
		return true;
	}

	private String getAllUsers() {
		RTXSvrApi rtxsApi = new RTXSvrApi();
		StringBuffer users = new StringBuffer();
		if (rtxsApi.Init()) {
			String xmlData = rtxsApi.exportXmldata();
			System.out.println(xmlData);
			SAXReader saxReader = new SAXReader();
			Document document;
			try {
				document = saxReader.read(new ByteArrayInputStream(xmlData
						.getBytes()));
				Element rl = document.getRootElement();
				getNodeCount(rl,users);
				return users.toString();
			} catch (DocumentException e) {
				e.printStackTrace();
			}
		}
		rtxsApi.UnInit();
		return null;
	}

	public void getNodeCount(Element element,StringBuffer users) {
		for (int i = 0; i < element.nodeCount(); i++) {
			Node node = element.node(i);
			if (node instanceof Element) {
				Element elementTemp = (Element) node;
				String qname = elementTemp.getQName().getName();
				if("user".equals(qname)){
					String uid = elementTemp.attributeValue("uid");
					String postcode = elementTemp.attributeValue("postcode");
					if(!NO_SEND_POST_CODE_FLAG.equals(postcode)){
						users.append(uid).append(",");
					}
				}
				getNodeCount(elementTemp,users);
			}
		}
	}

}
分享到:
评论

相关推荐

    RTX开发SDK包(包含客户端和服务端)

    SDK中的客户端部分通常包括API接口、示例代码和必要的库文件,允许开发者在自己的应用程序中嵌入RTX的功能,例如创建聊天窗口、发送接收消息、管理联系人列表等。开发者可以参考提供的文档来学习如何调用这些接口,...

    RTX2009SDK+RTXServer2013+Rtx2009+winform实例

    RTX2009SDK、RTXServer2013以及RTX2009是腾讯即时通讯软件RTX(Real Time eXchange)在2009年及其后续版本的相关开发工具和服务器软件。这个压缩包包含了这些关键组件以及一个winform实例,帮助开发者理解和实践如何...

    RTX JAVASDK DEMO

    在"RTXServer SDK Java语言支持文档.doc"中,详细介绍了如何使用Java SDK来与RTXServer进行交互,开发人员可以参考这份文档来理解RTX Server与Java应用之间的接口调用和数据交互方式。 首先,"RTXServer SDK Java...

    RTXServer 应用开发指南

    - **RTXServer2007SDK**:开发工具包,包含了开发过程中需要用到的所有类库和文档。 #### 2. 准备开发环境 - 使用Visual Basic作为开发语言。 - 在VB的“工程”中选择“引用”,勾选“RTXSAPI1.0 Type Library”。 ...

    RTX二次开发-消息通知功能C#

    总的来说,"RTX二次开发-消息通知功能C#"意味着通过C#语言和RTX ServerSDK,我们可以创建一个能够集成到企业工作流中的通知系统,实现实时的信息传递。开发者可以通过这样的系统实现定制化的通知服务,提高工作效率...

    JAVA调用RTX发送及时提醒消息

    本文将详细讲解如何利用Java调用RTX发送提醒消息,主要涉及`RTXSvrApi.java`文件中的接口以及`RTXServer SDK Java语言支持文档.doc`的帮助文档。 首先,`RTXSvrApi.java`是一个Java类文件,它封装了调用RTX服务器...

    rtx sdk 使用說明

    本指南将详细介绍如何利用RTX SDK进行开发,包括RTX Client和RTX Server两个核心组件。 **RTX Client API** RTX Client API是开发者用来构建客户端应用程序的部分。它提供了丰富的函数和接口,使开发者能够实现...

    发送RTX消息SDK 3个DLL文件

    RTX消息SDK是企业级即时通讯软件 Lotus Notes/Domino 的一个重要组成部分,它允许开发者通过编程方式发送RTX(Real-Time eXchange)消息,从而实现定制化的沟通功能。在给定的压缩包中,包含了三个关键的DLL(动态...

    JavaSDK.zip_rtx java_rtx2010二次开发_rtx二次开发java

    2. **Java语言支持**:RTXServer SDK Java语言支持文档详细阐述了如何在Java环境中使用SDK进行编程。开发者可以通过这个文档了解如何导入库、设置环境、调用方法等,以实现RTX的定制功能。 3. **RTX2010**:这是RTX...

    RTX二次开发包,有需要的朋友可以下载

    其次,RTX Server SDK(服务器端软件开发工具包)则为开发者提供了对RTX服务器进行扩展和定制的能力。这包括但不限于添加新的服务模块、实现特定的业务逻辑、调整服务器性能等。开发者可以利用Server SDK来构建企业...

    RTXS2006SDK

    开发者可以通过这些API来控制RTX客户端的行为,例如发送消息、接收消息、管理联系人、处理事件等。这个文档通常包括接口的定义、参数说明、使用示例和常见问题解答,是开发客户端插件的基础。 2. **RTX2006Server ...

    腾讯通RTX服务器端接口,用户管理示例

    在IT行业中,企业内部通信...结合VS2010开发环境和Server SDK,开发者可以构建出强大的企业级应用,增强内部通信效率,优化管理流程。在实际工作中,理解并熟练运用这些接口,将有助于提升企业的信息化水平和运营效率。

    Rtx与OA集成问题

    首先,OA服务器需要安装Server SDK API包。登录流程如下: 1. 用户登录OA系统。 2. OA服务器获取SessionKey。 3. 用户请求RTX登录,OA服务器转发SessionKey。 4. RTX客户端使用SessionKey登录。 这一过程中,需要...

    RTX服务器防火墙配置.docx

    6. 在添加程序窗口中,浏览到 RTXServer 安装目录下的 bin 文件夹,选择 ConnServer.exe。 7. ConnServer.exe 被添加进“添加程序”窗口,点击确定即可成功把该程序添加进例外。 8. 按同样的方法,把 FileServer.exe...

    PHP实现RTX发送消息提醒的实例代码

    - 下载并安装SDK开发包,可以从官方地址(http://rtx.tencent.com/rtx/download/index.shtml)获取。 - 重点是服务端SDK,因为用于发送消息提醒。 3. **实现步骤** - RTX的WebRoot目录下有一个名为`SendNotify....

    JiraRTX:用于向腾讯 RTX 发送通知的 Jira 插件

    这是什么这个项目包含了一个jira插件(RTX Notifier)和一个服务端(RTX Agent), jira插件用来监听jira的事件, 并把这些事件转换为消息发送到服务端, 服务端再将消息转发到RTX Server, 实现通知功能. jira插件和服务端...

    腾讯通RTX与OA的集成

    这需要在OA服务器上安装Server SDK API包,并编写后台程序负责中转SessionKey,前端程序则通过调用客户端SessionKey登录接口实现自动登录。 **组织架构集成**:RTX与OA系统共享用户信息,确保两个系统有相同的组织...

    腾讯通ServerSDK示例,根对象类别

    项目需要用vs2010打开 腾讯通服务器端接口开发: 查询企业信息 查询版本信息 ...发送消息提醒 ----- 常用接口 用户登录验证 ----- 常用接口 查询用户权限列表 根据状态查询用户列表 发送IM消息 踢除用户下载

Global site tag (gtag.js) - Google Analytics