Эта библиотека предоставляет API для отправки/получения сообщений в/из другого процесса приложения (локального или удаленного) для протоколов без установления соединения.
Если адрес локального хоста или IP-адрес не указаны в необязательном поле localHost
, адрес 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
.