新闻详情
跟我一起学“仓颉”编程语言-TCP协议网络编程
跟我一起学“仓颉”编程语言-TCP协议网络编程
一、TcpSocket和TcpServerSocket的基本用法服务端项目package Study // 导包 import std.net.* main () { try ( // 服务端 server TcpServerSocket(bindAt: 9999) ) { // 绑定端口 server.bind() println(服务端已启动) // 阻塞等待客户端的连接 try (client server.accept()) { println(服务端${client.localAddress}已连接客户端${client.remoteAddress}) // 接收客户端发送的数据 let buffer ArrayByte(1024, repeat: 0) var len 0 // 只要数据没有读完就一直读 while (true) { len client.read(buffer) if (len 0) { break } let data String.fromUtf8(buffer[0..len]) println(数据: ${data}) } } } }客户端项目package Sender // 导包 import std.net.* import std.console.* main () { try ( // 客户端 client TcpSocket(127.0.0.1, 9999) ) { // 连接到服务端 client.connect() println(客户端${client.localAddress}已启动) println(连接到${client.remoteAddress}服务端) let data 你好, 我是钝子生 println(发送数据: ${data}) client.write(data.toArray()) println(发送完毕) } }服务端也可以向客户端发送数据服务端项目package Study // 导包 import std.net.* main () { try ( // 服务端 server TcpServerSocket(bindAt: 9999) ) { // 绑定端口 server.bind() println(服务端已启动) // 阻塞等待客户端的连接 try (client server.accept()) { println(服务端${client.localAddress}已连接客户端${client.remoteAddress}) let data 你好, 我是服务端 println(发送数据: ${data}) client.write(data.toArray()) println(发送完毕) } } }客户端项目package Sender // 导包 import std.net.* import std.console.* main () { try ( // 客户端 client TcpSocket(127.0.0.1, 9999) ) { // 连接到服务端 client.connect() println(客户端${client.localAddress}已启动) println(连接到${client.remoteAddress}服务端) // 接收客户端发送的数据 let buffer ArrayByte(1024, repeat: 0) var len 0 // 只要数据没有读完就一直读 while (true) { len client.read(buffer) if (len 0) { break } let data String.fromUtf8(buffer[0..len]) println(数据: ${data}) } } }二、小结本章为大家详细的介绍了仓颉编程语言中TCP协议网络编程的内容下一章为大家带来网络编程练习题的内容。最后创作不易如果大家觉得我的文章对学习仓颉服务端开发有帮助的话就动动小手点个免费的赞吧收到的赞越多我的创作动力也会越大哦谢谢大家