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

📄 cmppsocket.java

📁 短信系统SMS:支持普通短信、长短信和wap push短信的发送。
💻 JAVA
字号:
package com.ekun.sms.cmpp2;

import java.io.*;
import java.net.*;

public final class CmppSocket
{

  public CmppSocket(String host, int port)
  {
    this.host = host;
    this.port = port;
    sock = null;
    bout = null;
    din = null;
    seq = 1;
  }

  public CmppSocket(Socket sock)
  {
    this.sock = sock;
  }

  /*名称:InitialSock
   * 功能:初始化,包的初始序列号设置为0,建立一条TCP连接
   * 输入参数:nTimeout,单位毫秒!
   *
   * 输出参数:无
   *
   * 返回值:0:初始化成功,-1:初始化失败
   */
  public int InitialSock(int nTimeout)
  {
    int i = 0;
    try
    {
      if ( (sock == null) || sock.isClosed())
      {
        sock = new Socket(host, port);
        sock.setSoTimeout(nTimeout);
      }

      bout = sock.getOutputStream();
      din = new DataInputStream(sock.getInputStream());
      seq = 1;
    }
    catch (UnknownHostException e)
    {
      System.out.println(host + " is not legal host address...");
      System.out.println(e.toString());
      i = -2;
      return i;
    }
    catch (IOException e)
    {
      System.out.println(port + " is not available ...");
      System.out.println(e.toString());
      i = -3;
      return i;
    }
    return i;
  }

  public int closeSock()
  {
    int i = -1;
    try
    {
      if (sock != null)
      {
        sock.close();
        sock = null;
      }
      i = 0;
    }
    catch (IOException e)
    {
      i = -1;
      return i;
    }
    return i;
  }

  public void setSequenceId(int seq)
  {
    this.seq = seq;
  }

  public int getSequenceId()
  {
    return seq;
  }

  /**
   * 判断socket是否正常!
   * @return boolean
   */
  public boolean isOpened()
  {
    return !(sock == null   ||
            sock.isClosed()   ||
            !sock.isConnected() ||
            !sock.isBound()   ||
            sock.isInputShutdown()   ||
            sock.isOutputShutdown());
  }

  public Socket sock;
  public String host; //主机IP地址
  public int port; //主机端口
  public int seq;
  public OutputStream bout; //输出流
  public InputStream din; //输入流

  public final static int outsize = 1024 * 50; //输出buffer大小
  public final static int insize = 1024 * 50; //输入buffer大小

}

⌨️ 快捷键说明

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