0

我有一个可以使用 SMPP 协议生成和发送 SMS 消息的客户端。我可以在客户端设置目标地址和用户、密码。

我想创建一个非常简单的服务器(侦听器),它将从客户端接收消息(不带 SSL)并将结果写入文件。我找到了很多关于这个主题的文章,但它们对我没有帮助。

您能否提出解决此问题的最佳方法?

4

1 回答 1

1

这是一个非常简单的方法。由于您有客户端,我假设有一种方法可以将字节编码/解码为 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();
}

如果您想要更多防弹代码,则在服务器接受后创建一个工作线程,该线程单独运行,而服务器正在接受另一个连接。

于 2021-08-17T21:55:07.257 回答