我最近在groovy中创建了一个tcp服务器,我想知道如何让它的行为类似于telnet。Groovy tcp readline
例如,我运行我的tcp服务器并拉起cmd提示符以telnet脚本的端口并发送它寻找的命令。大多数命令发回一行/每字的信息。但是有一些返回一个大的字符串(类似于一段信息)。它用telnet工作正常。
但是,当我创建我的tcp客户端时,我无法让它接受比第一行更多的信息。
我使用readLine()而不是readLines(),因为如果我使用readLines(),它会挂在那里,不允许我发送下一个命令。
我也试过类似:(伪代码)
while((r.readLine()) !=null) {
def a = r.readLine()
}
这也只是挂在那儿像readlines方法()
如果你需要看到的代码是什么样子,点击这里:Groovy Tcp client/server sending maps
我的sendMessage函数在这些函数上有所不同,但我将其更改为相同,并使用客户端上的函数。
编辑
为了应对所提供的第一个答案......
那么做你所提到的以及类似:
while((line = r.readLine()) !=null) {
println line
}
两个工作,但我发送命令的方式在某种程度上干扰了它的功能。
如果你在我的源头(在上面提供的链接上)取得了一个高峰,也许你可以发现为什么它不能正确使用这些解决方案。
我回答了你的答案,它说** **编辑在我的主要职务。我把它放在那里,所以它会接受代码标签 – StartingGroovy 2010-08-24 19:01:20