使用一个套接字发送/接收消息

时间:2019-11-19 11:05:45

标签: java sockets

我正在一张一张的表中读取一堆消息,将其发送到服务器,接收每个请求的响应,并将该响应保存在另一个表中。

我正在使用套接字来正常工作(java)。我的问题是我只想使用一个套接字或一个流就可以一一对待所有消息。

我正在使用此方法作为接收方,第一个消息正常,但是由于bufferReader阻塞,第二个消息总是有问题。

我必须使用Read()(其中代码已经中断)调用,因为我不能使用readline()调用。(服务器Java版本是1.4) 主要问题是,一旦生产环境中的套接字建立,就建立了多个连接,而我只想处理所有消息

消息示例

52147523101090131125000199000080808078123456123456789125000074125896`

响应示例

104587596548521475231010901311250001990000808080781234561234567891250000741258960000000000000000000000000000000000000000000000000000000000000000000000000000000055555

这是我的代码:

public String decrypt(BufferedReader br) throws IOException {
    StringBuffer sb = new StringBuffer();

    for (int i = 0; i < 165; i++) {
        int ch = br.read();
        if (ch == -1) {
            throw new IOException("truncated message: Probleme avec la lecture du reponse serveur");
        } 
        sb.append((char) ch);
    }

    String message = sb.toString();


    return message;
}

0 个答案:

没有答案