该库提供 API,用于向/从另一个应用程序进程(本地或远程)发送/接收消息,以实现无连接协议。
当可选的localHost
字段没有给出本地主机地址或 IP 地址时,默认绑定localhost
地址。用于连接远程服务器的本地端口的端口号是随机确定的(临时端口)。
udp:Client
用于与远程UDP主机交互,可以定义如下:
udp : Client socketClient = check new ;
udp : Datagram datagram = {
remoteHost : " localhost " ,
remotePort : 48829 ,
data : " Hello Ballerina " . toBytes ()
};
check socketClient -> sendDatagram ( datagram );
readonly & udp : Datagram result = check socketClient -> receiveDatagram ();
check socketClient -> close ();
udp:ConnectClient
通过提供remoteHost
和remotePort
进行配置,以便它仅从配置的远程主机接收数据并向其发送数据。连接后,可能无法从任何其他主机接收数据或向任何其他主机发送数据。客户端保持连接状态,直到显式关闭为止。如果给writeBytes
方法的字节数大于数据报允许的数据大小,它将通过多个数据报迭代发送所有字节。
udp : ConnectClient socketClient = check new ( " localhost " , 48829 );
string msg = " Hello Ballerina " ;
check socketClient -> writeBytes ( msg . toBytes ());
readonly & byte [] result = check socketClient -> readBytes ();
check socketClient -> close ();
udp:Listener
用于监听传入的套接字请求。
udp:Listener
可以具有以下方法。
onBytes(readonly & byte[] data, udp:Caller caller)
或onDatagram(readonly & udp:Datagram, udp:Caller)
:一旦从客户端收到内容,就会调用这些远程方法。客户端使用udp:Caller
表示。
onError(readonly & udp:Error err)
:在错误情况下调用此远程方法。
udp:Listener
可以定义如下:
service on new udp:Listener( 48829 ) {
remote function onDatagram( readonly & udp : Datagram datagram )
returns udp : Datagram | udp : Error ? {
// Handle the content received from the client
}
remote function onError( udp : Error err ) {
// Handle the error situation
}
}
该存储库的“问题”和“项目”选项卡已禁用,因为它是 Ballerina 标准库的一部分。要报告错误、请求新功能、开始新讨论、查看项目板等,请访问 Ballerina 标准库父存储库。
该存储库仅包含该包的源代码。
下载并安装 Java SE 开发工具包 (JDK) 版本 21(从以下位置之一)。
甲骨文
OpenJDK
注意:将 JAVA_HOME 环境变量设置为安装 JDK 的目录的路径名。
执行以下命令从源构建。
构建包:
./gradlew clean build
运行测试:
./gradlew clean test
运行一组测试
./gradlew clean test -Pgroups=<test_group_names>
要构建而不进行测试:
./gradlew clean build -x test
调试包的实现:
./gradlew clean build -Pdebug=<port>
使用 Ballerina 语言进行调试:
./gradlew clean build -PbalJavaDebug=<port>
将生成的工件发布到本地 Ballerina 中央存储库:
./gradlew clean build -PpublishToLocalCentral=true
将生成的工件发布到 Ballerina 中央存储库:
./gradlew clean build -PpublishToCentral=true
作为一个开源项目,Ballerina 欢迎社区的贡献。
有关更多信息,请参阅贡献指南。
我们鼓励所有贡献者阅读《芭蕾舞女演员行为准则》。
udp
库。