【Groovy】使用 Groovy 语言开发服务器 Server 和客户端 Client 套接字程序 ( 客户端开发 )
2023-09-14 09:07:29 时间
一、服务器端 ServerSocket 开发
1、创建服务器端套接字 ServerSocket
在客户端 , 创建 Socket 套接字 , 传入服务器端的 IP 地址 和 端口号 ;
该方法执行成功后 , 会响应触发 服务器端 ServerSocket 的 accept 方法 , 服务器端就可以得到与该 客户端 Socket 相应的连接 ;
代码示例 :
// 客户端套接字
def client = new Socket("127.0.0.1", 8088)
2、接收客户端数据线程
调用客户端 Socket 的 getInputStream 获取输入流 , 然后读取服务器端 发送给 客户端的 byte 数组数据 ;
// 接收线程 , 读取服务器端传输的内容
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 获取输出流 ;
代码示例 :
// 发送线程 , 向服务器端发送数据
Thread.start {
client.outputStream.write("Hello Server , This is Client !".getBytes())
}
二、客户端端 Socket 完整代码示例
// 客户端套接字
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())
}
相关文章
- windows server ftp服务器怎么搭建_serveru访问ftp
- windows server 2008 DHCP服务器迁移server 2019 DHCP并开启故障转移高可用
- 使用 c++20 协程与 io_uring 实现高性能 web 服务器 part1:一个最简单的 echo server
- ORA-26837: Server “string” is not an XStream inbound server ORACLE 报错 故障修复 远程处理
- SQL Server 2012安装后服务器名称找不到的解决办法
- SQL语句实现查询SQL Server服务器名称和IP地址
- SQL Server创建链接服务器的存储过程示例分享
- redis通过6379端口无法连接服务器(redis-server.exe闪退)
- SQL Server如何通过SQL语句直接操作另一台服务器上的SQL SERVER的数据
- 服务器Back to the Previous Level of Linux Server(返回上级linux)
- serverLinux 平台重启 X Server 的操作办法(linux重启x)
- 深入了解SQL Server跟踪技术,提高数据检索效率(sqlserver跟踪)
- SQL Server——优质的数据库服务器解决方案(关于SQLServer)
- SQL Server锁性能提升:释放新潜能(sqlserver锁升级)
- SQL Server 实现数据库求余运算(sqlserver 求余)
- 检测SQL Server:探究系统性能隐患(sqlserver检测)
- 开放自由:Microsoft SQL Server免费发放(sqlserver开源吗)
- 回收让SQL Server垃圾回收带来的收益(sqlserver垃圾)
- 文搜索SQL Server全文搜索的应用实践(sqlserver全)
- SQL Server PC下的数据库操作实践(sqlserver pc)