跟我一起学“仓颉”编程语言-UDP协议网络编程
本章为大家详细的介绍了仓颉编程语言中UDP协议网络编程的内容。
·
目录
一、UdpSocket的基本用法
接收端的项目
package Study
import std.net.*
// 接收端或者服务端
main () {
try(
// 接收端
receiver = UdpSocket(bindAt: 9999)
){
// 绑定本地端口
receiver.bind()
println("接收端: ${receiver.localAddress}已启动")
// 接收发送端数据
let buffer = Array<Byte>(1024, repeat: 0)
// 等待发送端发送数据
let (senderAdderss, len) = receiver.receiveFrom(buffer)
let data = String.fromUtf8(buffer[0..len])
println("从${senderAdderss}接收数据, 数据: ${data}")
}
}
发送端的项目
package Sender
// 导包
import std.net.*
main () {
try (
// 发送端
sender = UdpSocket(bindAt: 8888)
) {
// 绑定本地端口
sender.bind()
println("发送端: ${sender.localAddress}启动")
// 指定接收端的地址
let data = "你好, 我是小生中的钝子生"
// 发送数据给接收端
sender.receiveFrom(data.toArray())
sender.sendTo(IPSocketAddress("127.0.0.1", 9999), data.toArray())
println("数据报发送完毕")
}
}
注意:这里先运行接收端的项目,在运行发送端的项目。
我们在修改以下代码,让它可以一直发送数据和接收数据,直到发送端输入N,结束所有程序。
接收端项目
package Study
import std.net.*
// 接收端或者服务端
main () {
try(
// 接收端
receiver = UdpSocket(bindAt: 9999)
){
// 绑定本地端口
receiver.bind()
println("接收端: ${receiver.localAddress}已启动")
// 接收发送端数据
let buffer = Array<Byte>(1024, repeat: 0)
while (true) {
// 等待发送端发送数据
let (senderAdderss, len) = receiver.receiveFrom(buffer)
let data = String.fromUtf8(buffer[0..len])
println("从${senderAdderss}接收数据, 数据: ${data}")
if (data == "N" || data == "n") {
break
}
}
}
}
发送端项目
package Sender
// 导包
import std.net.*
import std.env.*
main () {
try (
// 发送端
sender = UdpSocket(bindAt: 8888)
) {
// 绑定本地端口
sender.bind()
println("发送端: ${sender.localAddress}启动")
// 指定接收端的地址
while (true) {
print("请输入: ")
let data = getStdIn().readln().getOrThrow()
// 发送数据给接收端
sender.sendTo(IPSocketAddress("127.0.0.1", 9999), data.toArray())
if (data == "N" || data == "n") {
println("已退出")
break
}
}
}
}
二、小结
本章为大家详细的介绍了仓颉编程语言中UDP协议网络编程的内容,下一章,为大家带来TCP协议网络编程的内容。最后,创作不易,如果大家觉得我的文章对学习仓颉服务端开发有帮助的话,就动动小手,点个免费的赞吧!收到的赞越多,我的创作动力也会越大哦,谢谢大家🌹🌹🌹!!!
更多推荐
所有评论(0)