`
leon1509
  • 浏览: 536808 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用Groovy进行Socket编程之-普通文本版

阅读更多
服务端代码:

import java.net.ServerSocket
def server = new ServerSocket(9999)

while(true) {
    server.accept { socket ->
        println "\n正在处理新的请求..." 
        socket.withStreams { input, output ->
            def reader = input.newReader()
            char[] msgLength = new char[16];
            reader.read(msgLength, 0, msgLength.length);
            char[] msgBody = new char[Integer.parseInt(String.valueOf(msgLength).trim())];
            reader.read(msgBody, 0, msgBody.length);
            def msg = new String(new String(msgBody).getBytes(), 'UTF-8')  // 此处视客户端编码情况进行字符集转换
            println "获取数据: ${msg}"

//            def buffer = reader.readLine()
            //println "获取数据: ${buffer}"
            //now = new Date()
            //output << "返回数据($now): " + msg + "\n"
        }
        println "线程处理完毕!\n"
    }
}


结果为输出客户端传来的数据。


客户端代码:
s = new Socket("localhost", 4444);
s.withStreams { input, output ->
  output << "echo testing ...\n"
  buffer = input.newReader().readLine()
  println "response = $buffer"
}
分享到:
评论
2 楼 leon1509 2011-11-24  
groovy应该会自己关闭,如果想程序自己关闭,调用socket.close()
1 楼 key232323 2010-10-25  
如何用程序 关闭这个socket server呢?请问。

相关推荐

    groovy-all-2.4.5-API文档-中文版.zip

    包含翻译后的API文档:groovy-all-2.4.5-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.codehaus.groovy:groovy-all:2.4.5; 标签:codehaus、groovy、all、中文文档、jar包、java; 使用方法:解压翻译后的...

    groovy-all-2.4.13-API文档-中文版.zip

    赠送jar包:groovy-all-2.4.13.jar; 赠送原API文档:groovy-all-2.4.13-javadoc.jar; 赠送源代码:groovy-all-2.4.13-sources.jar; 赠送Maven依赖信息文件:groovy-all-2.4.13.pom; 包含翻译后的API文档:groovy...

    groovy-all-2.4.5-API文档-中英对照版.zip

    包含翻译后的API文档:groovy-all-2.4.5-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.codehaus.groovy:groovy-all:2.4.5; 标签:codehaus、groovy、all、中英对照文档、jar包、java; 使用方法:...

    groovy-2.5.1-API文档-中英对照版.zip

    包含翻译后的API文档:groovy-2.5.1-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.codehaus.groovy:groovy:2.5.1; 标签:codehaus、groovy、中英对照文档、jar包、java; 使用方法:解压翻译后的...

    groovy-3.0.9-API文档-中文版.zip

    包含翻译后的API文档:groovy-3.0.9-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.codehaus.groovy:groovy:3.0.9; 标签:groovy、codehaus、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用...

    groovy-3.0.9-API文档-中英对照版.zip

    包含翻译后的API文档:groovy-3.0.9-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.codehaus.groovy:groovy:3.0.9; 标签:groovy、codehaus、jar包、java、中英对照文档; 使用方法:解压翻译后的...

    apache-groovy-sdk-2.5.0-beta-2.zip

    在SDK中,"groovy-2.5.0-beta-2"目录下通常会包含以下关键组件: 1. **bin** 目录:包含可执行脚本,如`groovy`, `groovyc`, `groovysh`等,这些是Groovy的命令行工具,用于运行Groovy脚本、编译Groovy源码和启动...

    apache-groovy-sdk-4.0.1下载

    Apache Groovy SDK 4.0.1 是一个重要的软件开发工具包,专为使用Groovy编程语言进行开发的程序员设计。Groovy是一种基于Java平台的动态、灵活的编程语言,它扩展了Java语言的功能,提供了简洁的语法和强大的元编程...

    groovy-all

    标题“groovy-all”暗示这是一个包含Groovy完整实现的库,通常这样的库会包括Groovy的运行时环境和所有相关的类库。版本号“2.4.7”表明这是Groovy 2.4系列的一个稳定版本,发布于2016年,该版本可能包含了自2.4.0...

    groovy-xml-2.2.0-beta-1.zip

    这个版本为2.2.0的beta-1,意味着它是该版本系列中的早期测试版,开发者可能在其中寻找新特性或者进行兼容性测试。 "bb4-common.zip" 文件描述的是一个名为"bb4"的开源项目的一部分,它包含通用的BB4 Java代码。"bb...

    groovy-grails-tool-suite-3.6.4.RELEASE-e4.4.2-win32-x86_64.part2

    groovy-grails-tool-suite-3.6.4.RELEASE-e4.4.2-win32-x86_64.part2 共两个包,解压后需要将扩展名.zip.bak改名为.zip重新解压。 http://dist.springsource.com/release/STS/3.8.1.RELEASE/dist/ e4.6/spring-tool-...

    groovy-2.4.0-beta-1.zip

    Groovy-2.4.0-beta-1.zip 是一个压缩包,其中包含了Groovy编程语言的一个特定版本,即2.4.0的测试版1。Groovy是一种动态、灵活的面向对象的脚本语言,它运行在Java平台上,并且与Java紧密集成。Groovy提供了简洁的...

    groovy-sdk-4.0.3

    6. **jar文件**:如`groovy-4.0.3.jar`等,这些是SDK的核心库,包含Groovy运行时所需的类和接口。 7. **依赖库**:Groovy可能依赖于其他Java库,如Ant、JUnit等,这些依赖项通常也会包含在SDK中。 使用Groovy SDK...

    groovy-2.0.8-with-eclipse-plugin-2.7.2.part3

    groovy-2.0.8-with-eclipse-plugin-2.7.2.part3

    groovy-2.5.1-API文档-中文版.zip

    包含翻译后的API文档:groovy-2.5.1-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.codehaus.groovy:groovy:2.5.1; 标签:codehaus、groovy、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用...

    groovy-grails-tool-suite-3.6.4.RELEASE-e4.4.2-win32-x86_64.part1

    groovy-grails-tool-suite-3.6.4.RELEASE-e4.4.2-win32-x86_64.part1 共两个压缩包,解压后将扩展名.zip.bak改为.zip再次解压。

    org.codehaus.groovy-2.9.0.xx-201407142235-e44-RELEASE-updatesite.zip

    标题 "org.codehaus.groovy-2.9.0.xx-201407142235-e44-RELEASE-updatesite.zip" 暗示了这是一个与Groovy编程语言相关的Eclipse插件的更新站点压缩包。这个版本号 "2.9.0" 表明这是该插件的2.9.0版,时间戳 ...

    groovy-all-2.4.8.jar

    4. **使用Groovy-All-2.4.8.jar** - 在Java项目中,可以通过添加这个jar到项目的类路径(classpath)来启用Groovy支持。 - 可以编写Groovy脚本文件(`.groovy`),然后通过GroovyShell或GroovyScriptEngine来运行...

    apache-groovy-sdk-3.0.6.zip

    1. **Groovy编译器**:SDK中的`groovy-3.0.6`目录可能包含了Groovy编译器,它是将Groovy源代码转换成Java字节码的工具,使得Groovy程序能够在Java平台上运行。 2. **GroovyShell和GroovyConsole**:这两个工具允许...

    groovy-all.jar-生成JasperReport所要包含的包

    `groovy-all.jar`是Groovy库的一个集合,包含了Groovy运行时环境和所有必要的类库,使得开发者能够在Java项目中方便地使用Groovy的功能。 在Java开发中,`groovy-all.jar`是至关重要的,因为它允许你在Java应用程序...

Global site tag (gtag.js) - Google Analytics