需要在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()
}
感谢您的帮助。