Как отправить UDP сообщение в балерину?
Хотелось бы узнать, можно ли отправлять и получать UDP-сообщения у балерины. В основном в Java я могу сделать следующее, используя Datagram Socket.
DatagramPacket packet = new DatagramPacket(
payload.getBytes(),
payload.length(),
InetAddress.getByName(address),
port
);
socket.send(packet);
Я хочу повторить ту же функциональность в балерине для реализации одноранговой сети.
1 ответ
Решение
Отправка UDP-сообщений пока не поддерживается. Существует стандартная библиотека сокетов балерины, которая поддерживает прослушиватель и клиент уровня TCP, которые можно использовать для отправки / получения сообщений TCP, как показано ниже. В будущем планируется добавить поддержку UDP и с этой библиотекой сокетов.
import ballerina/io;
import ballerina/socket;
public function main() {
socket:Client socketClient = new({ host: "localhost", port: 61598,
callbackService: ClientService });
string content = "Hello Ballerina";
byte[] payloadByte = content.toByteArray("UTF-8");
var writeResult = socketClient->write(payloadByte);
if (writeResult is error) {
io:println("Unable to written the content ", writeResult);
}
}
См. https://ballerina.io/learn/by-example/tcp-socket-listener-client.html