⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mymmreceiver.java~2~

📁 彩信开发一般应用好了不?彩信开发一般应用好了不?彩信开发一般应用好了不?彩信开发一般应用好了不?彩信开发一般应用好了不?
💻 JAVA~2~
字号:
package mmsproject;

import java.util.*;
import com.huawei.mms.pdu.*;
import com.huawei.mms.vas.*;
import java.io.*;
import java.sql.*;

/**
 * <p>Title: 彩信发送接收项目</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: data link</p>
 * @author tomato
 * @version 1.0
 */

public class MyMMReceiver
    implements MMessageHandle, Runnable {
  public MyMMReceiver() {
  }

  //2.    创建接收代理
  public static MMReceiver receiver = new MMReceiver();

  /**
   * 将上行取得的数据插入数据库中
   * @param strMMContentType 彩信类型
   * @param Title 彩信标题
   * @param PhoneNum 发送号码
   * @param ReceiveNum 接收号码
   * return            返回刚刚插入数据库的id号
   */
  private int addMMSData(int nMMContentType,
                         String strTitle,
                         String strPhoneNum,
                         String strReceiveNum) {
    int nNewId = 0;
    String strSql = "INSERT INTO TB_RECEIVE"
        + "(MMContentType,Title,PhoneNum,ReceiveNum) "
        + "VALUES"
        + "(?,?,?,?)";
    //String strSqlGetNewId = "SELECT MAX(ReceiveID) AS ReceiveID FROM TB_RECEIVE";

    Connection conn = null;
    PreparedStatement stmt = null;
    ResultSet rs = null;
    try {
      conn = MySqlConnection.getSqlConnection();
      stmt = conn.prepareStatement(strSql);

      stmt.setInt(1, nMMContentType);
      stmt.setString(2, strTitle);
      stmt.setString(3, strPhoneNum);
      stmt.setString(4, strReceiveNum);

      stmt.executeUpdate(,Statement.RETURN_GENERATED_KEYS);

      rs = stmt.getGeneratedKeys();

      while (rs.next()) {
        nNewId = rs.getInt(0);
      }
    } catch (Exception e) {
    } finally {
      MySqlConnection.closeSqlPreparedStatement(stmt);
      MySqlConnection.closeSqlConnection(conn);
    }
    return nNewId;
  }

  //将取得上行彩信内容存入数据库中
  private void addMMSContentData() {

  }

  /**
   * 该方法用于对从MMSC传递过来的消息进行处理
   * @param message 原始消息
   */
  public void handle(MMessage message) {
    //1.	用户实现消息处理接口
    //对接收到的消息进行处理
    String str = "收到多媒体消息,内容如下:";
    str = str + "来自:" + message.getFrom() + "\n";
    str = str + "标题:" + message.getSubject() + "\n";
    str = str + "消息ID:" + message.getMessageId() + "\n";
    str = str + "发送到:" + message.getTo() + "\n";
    //message.getMessageType();

    //显示信息
    String strTemp = FrmMMSManage.m_txtStatus.getText();
    FrmMMSManage.m_txtStatus.setText(strTemp + str);

    //取得To中的信息
    String strToNum = "";
    Vector to = message.getTo();
    if (to != null) {
      int size = to.size();
      for (int i = 0; i < size; i++) {
        MMSAddress tmp = (MMSAddress) to.get(i);
        if (tmp != null) {
          //System.out.println( "发送方号码:" + tmp.getAddress() );
          strToNum = strToNum + tmp.getAddress();
        }
      }
    }
    //将取得的数据存入数据库
    addMMSData(1, message.getSubject(), message.getFrom().getAddress(), strToNum);

    //获取消息内容(暂时先不将内容存入数据库)
    for (Iterator i = message.getContents().iterator(); i.hasNext(); ) {
      MMSContent mmc = (MMSContent) i.next();
      //通过该函数取得内容的类型mmc.getType();
      mmc.getType();
      //或者提取消息并进行相关操作

    }

  }

  public void run() {
    //设置侦听端口
    receiver.setListenPort(20000);

    //3.	注册消息处理过程
    receiver.setMessageHandle(new MyMMReceiver());

    //4.	启动接收线程
    receiver.start();
    //等待用户在控制台上按回车结束,否则程序会马上终止
    try {
      //System.in.read();
      //System.out.println("...........");
      //JOptionPane.showMessageDialog(null, "接收到上行信息-" + System.in.read(),
      //                          "", JOptionPane.ERROR_MESSAGE, null);
      //Frame1.jlabStatus.setText("正在执行侦听线程");
    } catch (Exception e) {
    }
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -