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