如何在 Groovy 中读取 telnet 响应

问题描述 投票:0回答:0

需要在Groovy上通过telnet实现与服务器的通信。问题是执行卡在

def reader = new BufferedReader(new InputStreamReader(inputStream))
行,因为我在服务器端的日志中看到了这两个命令。似乎响应读取有问题 - 在我停止执行之前什么都没有发生。

import org.apache.commons.net.telnet.TelnetClient

static void main(String[] args) {
  def client = new TelnetClient()
  client.connect('servername.dev.net', 9999)

  def inputStream = client.inputStream
  def outputStream = client.outputStream

// send commands to the server
  outputStream.write("{\"method\":\"authentication\",\"data\":{\"app_key\":\"asdsdfsdfsd\",\"service_id\":1,\"version\":\"4.0.0\"}}\r\n".getBytes())

  Thread.sleep(2000)

  outputStream.write("{\"method\":\"get.news\"}\r\n".getBytes())

// read responses from the server
  def reader = new BufferedReader(new InputStreamReader(inputStream))
  def response = reader.readLine()

  while (response != null) {
    println(response)
    response = reader.readLine()
  }

  Thread.sleep(15000)

// close the connection
  client.disconnect()
} 

感谢您的帮助。

groovy telnet
© www.soinside.com 2019 - 2024. All rights reserved.