前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Groovy】使用 Groovy 语言开发服务器 Server 和客户端 Client 套接字程序 ( 客户端开发 )

【Groovy】使用 Groovy 语言开发服务器 Server 和客户端 Client 套接字程序 ( 客户端开发 )

作者头像
韩曙亮
发布2023-03-30 10:23:22
1.2K0
发布2023-03-30 10:23:22
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

一、服务器端 ServerSocket 开发


1、创建服务器端套接字 ServerSocket

在客户端 , 创建 Socket 套接字 , 传入服务器端的 IP 地址 和 端口号 ;

该方法执行成功后 , 会响应触发 服务器端 ServerSocket 的 accept 方法 , 服务器端就可以得到与该 客户端 Socket 相应的连接 ;

代码示例 :

代码语言:javascript
复制
// 客户端套接字
def client = new Socket("127.0.0.1", 8088)

2、接收客户端数据线程

调用客户端 Socket 的 getInputStream 获取输入流 , 然后读取服务器端 发送给 客户端的 byte 数组数据 ;

代码语言:javascript
复制
// 接收线程 , 读取服务器端传输的内容
Thread.start {
    // 读取数据的缓冲区
    def bytes = new byte[1024]
    // 没有关闭的情况下才开始读取
    while (!client.isClosed()) {
        def len = client.inputStream.read(bytes)
        if (len > 0) {
            println "${client.remoteSocketAddress} : ${new String(bytes, 0, len)}"
        }
    }
}

3、向服务器端发送数据线程

调用客户端 Socket 的 getOutputStream 获取输出流 , 然后写出相应 byte 数组数据到服务器端 ;

下面代码的 outputStream 就是调用了 Socket client 的 getOutputStream 获取输出流 ;

代码示例 :

代码语言:javascript
复制
// 发送线程 , 向服务器端发送数据
Thread.start {
    client.outputStream.write("Hello Server , This is Client !".getBytes())
}

二、客户端端 Socket 完整代码示例


代码语言:javascript
复制
// 客户端套接字
def client = new Socket("127.0.0.1", 8088)

// 接收线程 , 读取服务器端传输的内容
Thread.start {
    // 读取数据的缓冲区
    def bytes = new byte[1024]
    // 没有关闭的情况下才开始读取
    while (!client.isClosed()) {

        def len = client.inputStream.read(bytes)
        if (len > 0) {
            println "${client.remoteSocketAddress} : ${new String(bytes, 0, len)}"
        }
    }
}

// 发送线程 , 向服务器端发送数据
Thread.start {
    client.outputStream.write("Hello Server , This is Client !".getBytes())
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-01-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、服务器端 ServerSocket 开发
    • 1、创建服务器端套接字 ServerSocket
      • 2、接收客户端数据线程
        • 3、向服务器端发送数据线程
        • 二、客户端端 Socket 完整代码示例
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档