我有一个可以使用 SMPP 协议生成和发送 SMS 消息的客户端。我可以在客户端设置目标地址和用户、密码。
我想创建一个非常简单的服务器(侦听器),它将从客户端接收消息(不带 SSL)并将结果写入文件。我找到了很多关于这个主题的文章,但它们对我没有帮助。
您能否提出解决此问题的最佳方法?
这是一个非常简单的方法。由于您有客户端,我假设有一种方法可以将字节编码/解码为 SMPP 数据包。
public void runServer() throws Exception
{
ServerSocket serverSocket = new ServerSocket(6868);
Socket socket = serverSocket.accept();
while (socket.isBound()) {
byte[] bytes = readBytes(socket.getInputStream()) ;
- encode bytes to smpp
- create smpp response and decode to bytes
socket.getOutputStream().write(bytes);
socket.getOuptutStream().flush();
}
socket.close();
serverSocket.close();
}
private byte[] readBytes(InputStream is) throws Exception
{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int i ;
while ((i=is.read()) != -1) baos.write(i);
return baos.toByteArray();
}
如果您想要更多防弹代码,则在服务器接受后创建一个工作线程,该线程单独运行,而服务器正在接受另一个连接。