亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? smgpserver.java

?? 本人為友邦公司做的模擬網(wǎng)關(guān)源代碼
?? JAVA
字號(hào):
package smgpgw;

import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.text.*;
import java.beans.*;
import java.io.*;
import java.net.*;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2002</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */

public class SmgpServer
    implements Runnable {
  private static SmgpServer server = null;
  private DataOutputStream out = null;
  private DataInputStream in = null;
  public int loginMode = 0;

  private static DataOutputStream m_Deliverout = null;

  private static short msgId = 1;
  public boolean stopServer = false;
  public static Hashtable conHT = new Hashtable(10,10);
  public static Vector conVec = new Vector(10);

  private static int m_reportCount = 0;

  public static String submitResp_msg_id = "";

  private SmgpServer(Socket socket) {
    try {
      in = new DataInputStream(socket.getInputStream());
      out = new DataOutputStream(socket.getOutputStream());
      m_Deliverout = out;
    }
    catch (IOException e) {
      e.printStackTrace();
    }
  }

  public static void startSmgpServer(Socket socket) {



      server = new SmgpServer(socket);
      Thread MOServer = new Thread(server);
      MOServer.start();
      conVec.add(server);

  }

  public static SmgpServer instance() {
    Vector tmpVec = null;
    if((tmpVec = (Vector)conHT.get((new Integer(0))))!=null){
      return (SmgpServer)tmpVec.get(0);
    }else{
      tmpVec = (Vector)conHT.get((new Integer(2)));
      return (SmgpServer)tmpVec.get(0);
    }

  }

  public static void sendDeliverReport(SmgpData smgp) {
    if (Constants.DISPLAY_BINARY) {
      SMSCFrame.SendArea.append(Constants.byteToHexString(smgp.getPackage()));
      SMSCFrame.SendArea.append("\n");
    }
    Smgp.getDeliverCommand(m_Deliverout, smgp);
    if (Constants.DISPLAY_MSG) {
      /**
       * modified by me(yzx) at 2004-03-03:修正原來(lái)籠統(tǒng)的轉(zhuǎn)換
       */
      String temp = null;
      try {
        if (smgp.msgMsgFormat == 15) {
          temp = new String(smgp.msgMsgContent.getBytes("gb2312"));
        }
        else if (smgp.msgMsgFormat == 8) {
          temp = new String(smgp.msgMsgContent.getBytes("UTF-16BE"));
          temp = new String(smgp.msgMsgContent.getBytes("UTF-16BE"), "gb2312");
        }
        else {
          temp = smgp.msgMsgContent;
        }
      }
      catch (java.io.UnsupportedEncodingException e) {
        e.printStackTrace();
      }

      SMSCFrame.SendArea.append("發(fā)送消息 to " + smgp.msgDestTermIDArr[0] + " :"
                                + temp + "\n");
    }

  }

  public void sendDeliver(SmgpData smgp) {
    //System.out.println("come in sendDeliver");
    if (Constants.DISPLAY_BINARY) {
      SMSCFrame.SendArea.append(Constants.byteToHexString(smgp.getPackage()));
      SMSCFrame.SendArea.append("\n");
    }

    Smgp.getDeliverCommand(out, smgp);

    if (Constants.DISPLAY_MSG) {
      SMSCFrame.SendArea.append("發(fā)送消息 to " + smgp.msgDestTermIDArr[0] + " :"
                                + smgp.msgMsgContent + "\n");
    }
    //System.out.println("go out sendDeliver");
  }

  public void run() {
    while (!stopServer) {
      final byte[] receivedData = receiver();

      if (1 == receivedData[0]) {
        stopServer = true;
        server = null;
        return;
      }

      SmgpData smgp = Smgp.parseMessage(receivedData);

      switch (smgp.headCmdID) {
        case Smgp.SMGP_submit:

          SmgpData submitResp = new SmgpData();

          if (Constants.DISPLAY_BINARY) {
            SMSCFrame.RecvArea.append(Constants.byteToHexString(submitResp.
                getPackage()));
            SMSCFrame.RecvArea.append("\n");
          }

          submitResp.headCmdID = Smgp.SMGP_submit_resp;
          submitResp.headSeqcNo = smgp.headSeqcNo;
          submitResp.MsgID = getMsgID();
          submitResp_msg_id = submitResp.MsgID;
          submitResp.status = smgp.status;

          Smgp.getCommand(out, submitResp); //發(fā)送命令

          if (Constants.DISPLAY_MSG) {
            SMSCFrame.RecvArea.append("\n接收消息 from " + smgp.msgSrcTermID + " :" +
                                      smgp.msgMsgContent + "\n" + "目的手機(jī)=" +
                                      smgp.msgDestTermID + "\n" +
                                      "Src_terminal_id=" +
                                      smgp.msgSrcTermID);
          }
//          System.out.println(smgp.msgNeedReport);
          if (smgp.msgNeedReport == 1) {
            SendDataThread.SendReport(smgp.msgDestTermID,
                                      submitResp.MsgID);
            m_reportCount++;
            System.err.println("發(fā)送狀態(tài)報(bào)告條數(shù)=" + m_reportCount);
          }

          break;

        case Smgp.SMGP_login:


            Integer tmpInt = new Integer((int)smgp.LoginMode);
            Vector tmpVec = (Vector)conHT.get(tmpInt);
            if(tmpVec!=null){
              tmpVec.add(this);
            }else{
              tmpVec = new Vector(10);
              tmpVec.add(this);
              conHT.put(tmpInt,tmpVec);
            }


          SmgpData connectResp = new SmgpData();
          connectResp.headCmdID = Smgp.SMGP_login_resp;
          connectResp.headSeqcNo = smgp.headSeqcNo;
//          System.out.println("login status : " + smgp.status);
          connectResp.AuthenticatorServer = new String(Constants.
              generateRespAuthCode( (byte) smgp.status, Constants.publicKey,
                                   smgp.AuthenticatorClient.getBytes()));
//          System.out.println("login AuthenticatorServer : " + connectResp.AuthenticatorServer.length());
          Smgp.getCommand(out, connectResp);
          break;

        case Smgp.SMGP_active_test:
          smgp.headCmdID = Smgp.SMGP_active_test_resp;
          Smgp.getCommand(out, smgp);
          break;
        default:
//          System.out.println("command error");

      }

//			try {
//				Thread.sleep(100);
//			}
//			catch (InterruptedException ex) {
//				}
    }

  }

  private synchronized byte[] receiver() {
    byte[] receivedData;
    try {
      int dataSize = in.readInt();
      receivedData = new byte[dataSize - 4]; //note:byte 不包含消息包長(zhǎng)度這四個(gè)字節(jié)
      int dataTotalSizeToRead = dataSize - 4;
      int dataToReadLeft = dataSize - 4;
      int dataThisTimeRead;
      while (dataToReadLeft > 0) {
        dataThisTimeRead = in.read(receivedData,
                                   dataTotalSizeToRead - dataToReadLeft,
                                   dataToReadLeft);
        dataToReadLeft -= dataThisTimeRead;
      }

    }
    catch (InterruptedIOException e) {
      System.out.println("InterruptedIOException exception");
      e.printStackTrace();
      Integer tmpInt = new Integer( (int)this.loginMode);
      Vector tmpVec = (Vector) conHT.get(tmpInt);
      if (tmpVec != null && tmpVec.size() > 0) {
        tmpVec.remove(this);
      }

      receivedData = new byte[1];
      receivedData[0] = 0;
    }
    catch (IOException e) {
      System.out.println("IOException exception");
      e.printStackTrace();
      Integer tmpInt = new Integer( (int)this.loginMode);
      Vector tmpVec = (Vector) conHT.get(tmpInt);
      if (tmpVec != null && tmpVec.size() > 0) {
        tmpVec.remove(this);
      }

      receivedData = new byte[1];
      receivedData[0] = 1;
    }
    catch (Throwable ex) {
      System.out.println("Throwable exception");
      ex.printStackTrace();
      Integer tmpInt = new Integer( (int)this.loginMode);
      Vector tmpVec = (Vector) conHT.get(tmpInt);
      if (tmpVec != null && tmpVec.size() > 0) {
        tmpVec.remove(this);
      }

      receivedData = new byte[1];
      receivedData[0] = 2;
    }

    return receivedData;
  }

  public static synchronized String getSeq() {
    if (msgId == 9999) {
      msgId = 1;
    }else
      msgId ++;
    String temp = String.valueOf(msgId);
    int count = 4-temp.length();
    for(int i=0;i<count;i++){
      temp = "0" + temp;
    }
    return temp;
  }

  public static String GetTime() {
    StringBuffer buf;
    Date date;
    int temp;
    String s;
    date = new Date();
    buf = new StringBuffer();
    temp = date.getHours();
    if (temp < 10)
      buf.append("0").append(temp);
    else
      buf.append(temp);
    temp = date.getMinutes();
    if (temp < 10)
      buf.append("0").append(temp);
    else
      buf.append(temp);
    temp = date.getSeconds();
    if (temp < 10)
      buf.append("0").append(temp);
    else
      buf.append(temp);
    return buf.toString();
  }

  public static String getMsgID() {
    byte[] megid = new byte[10];
    byte[] temp;
    String strTime = GetTime();
    temp = strTime.getBytes();
    int i = 0;
    for (i = 0; i < temp.length; i++) {
      megid[i] = temp[i];
    }
    String tempStr = getSeq();
    temp = tempStr.getBytes();
    for (int j = 0; j < temp.length; j++) {
      megid[i + j] = temp[j];
    }
    return new String(megid);
  }

  protected static byte[] intToBytes(int i) {
    try {
      ByteArrayOutputStream byteArrayos = new ByteArrayOutputStream();
      DataOutputStream dataOutStream = new DataOutputStream(byteArrayos);
      dataOutStream.writeInt(i);
      return byteArrayos.toByteArray();
    }
    catch (Exception e) {
      return null;
    }
  }

  public boolean isStopServer() {
    return stopServer;
  }

  public void stopServer() {
    this.stopServer = true;
    try {
      Thread.sleep(100);
    }
    catch (InterruptedException ex) {
    }
    server = null;
  }

}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜激情网站| 日韩vs国产vs欧美| 欧美电影在线免费观看| 国产成人av电影在线播放| 亚洲成人福利片| 欧美国产欧美综合| 日韩欧美国产三级电影视频| 色综合久久综合网97色综合| 九九**精品视频免费播放| 亚洲一区二区三区中文字幕| 欧美激情中文字幕一区二区| 欧美一卡二卡在线观看| 欧美性色黄大片| 91一区二区在线观看| 国产精品99精品久久免费| 三级一区在线视频先锋| 亚洲精品成人悠悠色影视| 国产日韩精品一区| 日韩免费看的电影| 欧美日韩国产经典色站一区二区三区 | 精品国产一二三| 欧美日韩中文另类| 91麻豆国产香蕉久久精品| 国产乱码精品一区二区三区五月婷| 日韩黄色片在线观看| 亚洲综合免费观看高清在线观看| 综合自拍亚洲综合图不卡区| 国产色综合久久| 精品国产精品一区二区夜夜嗨| 欧美三区免费完整视频在线观看| 91蝌蚪porny九色| av亚洲产国偷v产偷v自拍| 国产丶欧美丶日本不卡视频| 国内久久婷婷综合| 国产尤物一区二区| 久久 天天综合| 韩国一区二区三区| 经典三级视频一区| 国产一区在线观看视频| 国产一区美女在线| 国产美女一区二区三区| 国产麻豆成人精品| 成人免费高清在线| 成人禁用看黄a在线| 99久久婷婷国产精品综合| 99国产精品久| 色狠狠综合天天综合综合| 色婷婷av一区二区三区gif| proumb性欧美在线观看| 91视视频在线直接观看在线看网页在线看 | 亚洲高清免费观看| 视频一区视频二区中文字幕| 日韩成人午夜电影| 久草中文综合在线| 国产成人免费9x9x人网站视频| 成人一道本在线| 色又黄又爽网站www久久| 日本高清视频一区二区| 欧美性高清videossexo| 777a∨成人精品桃花网| 日韩欧美www| 久久久久久久综合日本| 国产精品乱码久久久久久| 最新高清无码专区| 天天av天天翘天天综合网 | 另类小说一区二区三区| 韩国精品一区二区| k8久久久一区二区三区| 日本精品视频一区二区三区| 7777精品伊人久久久大香线蕉超级流畅 | 欧美日韩国产综合视频在线观看| 日韩欧美在线观看一区二区三区| 久久亚洲一级片| 国产精品成人在线观看| 调教+趴+乳夹+国产+精品| 九色综合狠狠综合久久| 成人性生交大合| 精品视频一区三区九区| 精品久久久久久综合日本欧美| 1000精品久久久久久久久| 婷婷国产v国产偷v亚洲高清| 国产成人午夜视频| 欧美在线一二三四区| 欧美成人精品福利| 亚洲丝袜另类动漫二区| 久久国产三级精品| 色综合久久久网| 精品毛片乱码1区2区3区| 自拍偷拍亚洲欧美日韩| 久久成人久久鬼色| 91麻豆自制传媒国产之光| 日韩欧美一区在线| 亚洲色图一区二区三区| 久久69国产一区二区蜜臀| 色婷婷综合久色| 久久色在线观看| 婷婷中文字幕综合| va亚洲va日韩不卡在线观看| 日韩视频永久免费| 亚洲日韩欧美一区二区在线| 久久成人精品无人区| 在线观看亚洲a| 久久九九全国免费| 日韩高清不卡在线| 色欧美乱欧美15图片| 久久精品一区二区三区不卡| 日本视频一区二区| 一本到高清视频免费精品| xnxx国产精品| 免费观看日韩电影| 精品视频免费看| 亚洲人精品一区| 成人黄页在线观看| 精品国产区一区| 日韩成人一区二区| 精品视频一区二区不卡| 亚洲精品网站在线观看| 国产成都精品91一区二区三| 亚洲精品一区二区三区蜜桃下载| 性做久久久久久免费观看| 91视频一区二区三区| 中文字幕精品—区二区四季| 狠狠色综合播放一区二区| 日韩午夜激情免费电影| 午夜精品一区二区三区电影天堂 | 国产成人免费视频精品含羞草妖精| 制服丝袜亚洲播放| 亚洲电影一区二区三区| 色婷婷精品大在线视频| 日韩理论在线观看| 91同城在线观看| 中文字幕欧美日本乱码一线二线| 国产一区二区不卡| 久久久国产精华| 国产河南妇女毛片精品久久久| 欧美精品一区二区三区蜜桃| 麻豆久久久久久久| 欧美大尺度电影在线| 久草热8精品视频在线观看| 精品第一国产综合精品aⅴ| 精品夜夜嗨av一区二区三区| 精品福利在线导航| 国产精品中文欧美| 国产日韩精品一区二区三区在线| 国产福利精品一区二区| 国产精品美女久久久久久久久久久| 国产成人夜色高潮福利影视| 国产女人水真多18毛片18精品视频| 福利一区在线观看| 国产精品伦理一区二区| 色激情天天射综合网| 亚洲成人午夜影院| 日韩欧美亚洲另类制服综合在线| 久久狠狠亚洲综合| 国产亚洲欧美日韩日本| 9i看片成人免费高清| 亚洲第一久久影院| 日韩欧美激情四射| 国产不卡一区视频| 亚洲视频网在线直播| 欧美女孩性生活视频| 久久99精品久久久久久| 国产免费久久精品| 在线免费av一区| 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产**成人网毛片九色| 1024精品合集| 在线成人av影院| 国产成人一区在线| 一二三区精品视频| 精品国产乱码久久久久久久久| 高清不卡一区二区在线| 亚洲国产aⅴ天堂久久| 日韩三级视频在线看| 成人免费黄色在线| 首页综合国产亚洲丝袜| 国产女人水真多18毛片18精品视频| 97se亚洲国产综合自在线不卡 | 成人免费福利片| 偷拍亚洲欧洲综合| 日本一区二区三区国色天香| 在线国产亚洲欧美| 激情六月婷婷久久| 亚洲一区二区三区中文字幕在线| 精品国产网站在线观看| 在线亚洲免费视频| 国产精品综合久久| 亚洲成人免费观看| 中文字幕制服丝袜成人av | 久久综合五月天婷婷伊人| 91在线视频网址| 久久se精品一区二区| 玉足女爽爽91| 久久久亚洲高清| 在线不卡中文字幕| 色猫猫国产区一区二在线视频| 精品在线视频一区| 三级欧美在线一区| 亚洲欧美一区二区久久| 国产亚洲精品中文字幕|