1.整体通信架构
鸿蒙客户端(ArkTS) 绑定本地端口 → 连接 Java 服务端 → 发送消息(带换行符做边界)
Java 服务端(Java) 监听端口(ServerSocket)→ 线程池分配工作线程 → 读取客户端消息(按行解析) → 控制台输入回发消息 → 客户端接收并展示
2.鸿蒙 ArkTS TCP 客户端实现
2.1 完整代码
import { socket } from "@kit.NetworkKit"
import { BusinessError } from "@kit.BasicServicesKit"
import util from "@ohos.util"
// 构建 TCP 套接字实例,这是整个 TCP 通信的核心对象
let tcpSocket: socket.TCPSocket = socket.constructTCPSocketInstance()
@Entry
@Component
struct Index {
// 本地绑定的端口号,默认 9990
@State localPort: number = 9990
// 消息历史记录,拼接所有收发消息
@State msgHistory: string = ''
// 滚动器实例
@State scroller: Scroller = new Scroller()
// 远程 TCP 服务器的 IP 地址,默认局域网 IP
@State serverIP: string = "192.168.247.1"
// 远程 TCP 服务器的端口号
@State serverPort: number =
: =
: =
: =
() {
: socket. = {
: ,
: .
}
tcpSocket.(localAddress).( {
. = +
. =
}).( {
. = +
})
tcpSocket.(, (value) => {
.()
buffer = value.
textDecoder = util..()
str = textDecoder.( (buffer))
. += + .() + + str +
..(.)
})
}
() {
: socket. = {
: .,
: .
}
tcpSocket.({ : serverAddress }).( {
. = +
. =
}).( {
. = +
})
}
(: ): {
n < ? + n : n.()
}
(): {
date = ()
time = .(date.()) + + .(date.()) + + .(date.())
time
}
() {
tcpSocket.({ : . + })
.( {
. += + .() + + . +
}).( {
. += +
})
}
() {
({ : }) {
().().(.).(.)
({ : ., : ., : . }) {
().().()
({ : ..() }).(.).().( {
. = (value)
.( + .)
})
().( {
.()
}).().()
}
({ : ., : ., : . }) {
().().()
({ : . }).().( {
. = value
.( + .)
})
({ : ..() }).().( {
. = (value)
.( + .)
})
().(.).().( {
.()
})
}
({ : ., : ., : . }) {
({ : }).( {
. = value
})
().(.).().( {
.()
})
}
(.) {
(.)
.(.)
.()
.()
}.(.).().().(.).(.).()
}.().()
}
}




