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

📄 myreceiver.java

📁 中国移动MM7 彩信客户端java源码文档和数据库设计
💻 JAVA
字号:
package cn.netjava.mmsclient;

import com.cmcc.mm7.vasp.service.*;
import com.cmcc.mm7.vasp.message.*;
import com.cmcc.mm7.vasp.conf.*;
import com.cmcc.mm7.vasp.common.*;
import java.net.*;
import java.io.*;
import java.util.*;

/**
 * 
 * <p>Title:中国移动mm7协议客户端 V0.1</p>
 * <p>Description: 接收彩信线程实现</p>
 * <p>Company:蓝杰实训 </p>
 * @author NetJava.cn 
 * @version 0.1
 */
public class MyReceiver extends MM7Receiver
{
  //处理到VASP的传送(deliver)多媒体消息
  public MM7VASPRes doDeliver(MM7DeliverReq mm7DeliverReq) {
    MM7DeliverRes res = new MM7DeliverRes();
    int i = 0;
    System.out.println("transactionid=" + mm7DeliverReq.getTransactionID());

    if(mm7DeliverReq.isToExist())
    {
    	List to = mm7DeliverReq.getTo();
    	for(i = 0;i < to.size();i ++)
    	{
    		System.out.println("to="+to.get(i));
    	}
    }

    if(mm7DeliverReq.isCcExist())
    {
     	List cc = mm7DeliverReq.getCc();
    	for(i = 0;i < cc.size();i ++)
    	{
    		System.out.println("cc="+cc.get(i));
    	}
   }

    if(mm7DeliverReq.isBccExist())
    {
     	List bcc = mm7DeliverReq.getBcc();
    	for(i = 0;i < bcc.size();i ++)
    	{
    		System.out.println("bcc="+bcc.get(i));
    	}
    }

    if(mm7DeliverReq.isLinkedIDExist())
    {
    	System.out.println("linkedid="+mm7DeliverReq.getLinkedID());
    }

    if(mm7DeliverReq.isMMSRelayServerIDExist())
    {
    	System.out.println("mmsrelayserverid="+mm7DeliverReq.getMMSRelayServerID());
    }

    if(mm7DeliverReq.isPriorityExist())
    {
    	System.out.println("priority="+mm7DeliverReq.getPriority());
    }

    if(mm7DeliverReq.isReplyChargingIDExist())
    {
    	System.out.println("replycharging="+mm7DeliverReq.getReplyChargingID());
    }

    if(mm7DeliverReq.isSenderExist())
    {
    	System.out.println("sender="+mm7DeliverReq.getSender());
    }

    if(mm7DeliverReq.isSubjectExist())
    {
    	System.out.println("subject="+mm7DeliverReq.getSubject());
    }

    if(mm7DeliverReq.isTimeStampExist())
    {
    	System.out.println("timestamp="+mm7DeliverReq.getTimeStamp());
    }

	if(mm7DeliverReq.isContentExist())
	{
	    MMContent parentContent = mm7DeliverReq.getContent();
	    if(parentContent.isMultipart())
	    {
	    	System.out.println("multipart");
		    List contentList = parentContent.getSubContents();
		    System.out.println("i="+contentList.size());
		    for(i = 0;i < contentList.size();i ++)
		    {
                        MMContent mmContent = (MMContent) contentList.get(i);
                        String contentID = mmContent.getContentID();
                        contentID = "zxme" + i;
                        MMContentType mmContentType = mmContent.getContentType();
                        System.out.println("contenttype=" +
                                           mmContentType.getPrimaryType() + "/" +
                                           mmContentType.getSubType());
                        if (mmContentType.getSubType().trim().equalsIgnoreCase(
                                "jpeg"))
                            contentID = contentID + ".jpg";
                        else if (mmContentType.getSubType().trim().
                                 equalsIgnoreCase("gif"))
                            contentID = contentID + ".gif";
                        else if (mmContentType.getSubType().trim().
                                 equalsIgnoreCase("midi"))
                            contentID = contentID + ".mid";
                        else if (mmContentType.getSubType().trim().
                                 equalsIgnoreCase("png"))
                            contentID = contentID + ".png";
                        else if (mmContentType.getPrimaryType().trim().
                                 equalsIgnoreCase("text"))
                            contentID = contentID + ".txt";
                        System.out.println("contentID=" + contentID);
                        System.out.println("contentID = " + contentID);
                        byte content[] = mmContent.getContent();
                        System.out.println("content.length = " + content.length);
                        if (content.length > 0) {
                            try {
                                FileOutputStream fileStream = new
                                        FileOutputStream("c:\\temp\\" +
                                        contentID);
                                fileStream.write(content);
                                fileStream.close();
                            } catch (IOException e) {
                                System.err.println(e);
                            }
                        }else{
                        System.out.println("content is NULL ");
                    }
                    }
		}
		else
		{
			System.out.println("singlepart");
	    	String contentID = parentContent.getContentID();
	    	System.out.println("contentID="+contentID);
	    	if(contentID == null || contentID.length() == 0)
	    		contentID = "zxme.";
	    	MMContentType mmContentType = parentContent.getContentType();
	    	if(mmContentType.getSubType().equalsIgnoreCase("jpeg"))
	    		contentID = contentID + "jpg";
	    	else if(mmContentType.getSubType().equalsIgnoreCase("gif"))
	    		contentID = contentID + "gif";
	    	else if(mmContentType.getSubType().equalsIgnoreCase("mid"))
	    		contentID = contentID + "mid";
	    	else if(mmContentType.getSubType().equalsIgnoreCase("png"))
	    		contentID = contentID + "png";
	    	else if(mmContentType.getPrimaryType().equalsIgnoreCase("txt"))
	    		contentID = contentID + "txt";

	    	byte content[] = parentContent.getContent();
                    System.out.println("content.length = " + content.length);
                    if (content.length>0){
                        try {
                            FileOutputStream fileStream = new FileOutputStream(
                                    "c:\\temp\\" + contentID);
                            fileStream.write(content);
                            fileStream.close();
                        } catch (IOException e) {
                            System.err.println(e);
                        }
                    }else{
                        System.out.println("content is NULL ");
                    }
		}
	}
    res.setTransactionID(mm7DeliverReq.getTransactionID());
    res.setStatusCode(1000);
    return res;
  }

  //处理到VASP的发送报告
  public MM7VASPRes doDeliveryReport(MM7DeliveryReportReq mm7DeliveryReportReq)
  {
    System.out.println("transactionid="+mm7DeliveryReportReq.getTransactionID());
    MM7DeliveryReportRes res = new MM7DeliveryReportRes();
    res.setTransactionID(mm7DeliveryReportReq.getTransactionID());
    res.setStatusCode(1000);
    return res;
  }

  //处理到VASP的读后回复报告
  public MM7VASPRes doReadReply(MM7ReadReplyReq mm7ReadReplyReq)
  {
    System.out.println("transactionid="+mm7ReadReplyReq.getTransactionID());
    MM7ReadReplyRes res = new MM7ReadReplyRes();
    res.setTransactionID(mm7ReadReplyReq.getTransactionID());
    res.setStatusCode(1000);
    return res;
  }

  public static void main(String[] args)
  {
	MM7Config Config = new MM7Config("./conf/mm7Config.xml");
	Config.setConnConfigName("./conf/ConnConfig.xml");
  	MyReceiver myReceiver = new MyReceiver();
  	myReceiver.setConfig(Config);

  	System.out.println("begin listen");

  	myReceiver.start();
  	for(;;)
  	{
  	  try{
  	    Thread.sleep(5);
  	  }catch(Exception e){}
  	}

  }

}

⌨️ 快捷键说明

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