📄 mymmreceiver.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 + -