Esta biblioteca fornece APIs para enviar/receber mensagens de/para outro processo de aplicação (local ou remoto) para protocolos sem conexão.
Quando o endereço do host local ou o endereço IP não é fornecido ao campo localHost
opcional, o endereço localhost
é vinculado por padrão. O número da porta local usada para conectar ao servidor remoto é determinado aleatoriamente (porta efêmera).
O udp:Client
é usado para interagir com o host UDP remoto e pode ser definido da seguinte forma:
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 ();
O udp:ConnectClient
é configurado fornecendo o remoteHost
e remotePort
para que ele receba e envie dados apenas para o host remoto configurado. Uma vez conectado, os dados não poderão ser recebidos ou enviados para nenhum outro host. O cliente permanece conectado até ser explicitamente fechado. Se o número de bytes fornecido ao método writeBytes
for maior que o tamanho dos dados permitido por um datagrama, ele enviará iterativamente todos os bytes com vários datagramas.
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 ();
O udp:Listener
é usado para ouvir a solicitação de soquete recebida.
O udp:Listener
pode ter os seguintes métodos.
onBytes(readonly & byte[] data, udp:Caller caller)
ou onDatagram(readonly & udp:Datagram, udp:Caller)
: Esses métodos remotos são invocados quando o conteúdo é recebido do cliente. O cliente é representado usando o udp:Caller
.
onError(readonly & udp:Error err)
: Este método remoto é invocado em uma situação de erro.
Um udp:Listener
pode ser definido da seguinte forma:
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
}
}
As guias Problemas e Projetos estão desabilitadas para este repositório, pois faz parte da Biblioteca Padrão Ballerina. Para relatar bugs, solicitar novos recursos, iniciar novas discussões, visualizar painéis de projetos, etc., visite o repositório pai da Ballerina Standard Library.
Este repositório contém apenas o código-fonte do pacote.
Baixe e instale o Java SE Development Kit (JDK) versão 21 (de um dos seguintes locais).
Oráculo
OpenJDK
Nota: Configure a variável de ambiente JAVA_HOME com o nome do caminho do diretório no qual você instalou o JDK.
Execute os comandos abaixo para construir a partir da fonte.
Para construir o pacote:
./gradlew clean build
Para executar os testes:
./gradlew clean test
Para executar um grupo de testes
./gradlew clean test -Pgroups=<test_group_names>
Para construir sem os testes:
./gradlew clean build -x test
Para depurar a implementação do pacote:
./gradlew clean build -Pdebug=<port>
Para depurar com a linguagem Ballerina:
./gradlew clean build -PbalJavaDebug=<port>
Publique os artefatos gerados no repositório central local do Ballerina:
./gradlew clean build -PpublishToLocalCentral=true
Publique os artefatos gerados no repositório central do Ballerina:
./gradlew clean build -PpublishToCentral=true
Como um projeto de código aberto, Ballerina aceita contribuições da comunidade.
Para obter mais informações, acesse as diretrizes de contribuição.
Todos os colaboradores são incentivados a ler o Código de Conduta da Bailarina.
udp
.