mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-06 05:27:24 +00:00
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import * as grpc from '@grpc/grpc-js';
|
|
import * as flatbuffers from 'flatbuffers';
|
|
import {GreeterClient} from './greeter_grpc';
|
|
import {HelloReply} from './models/hello-reply';
|
|
import {HelloRequest} from './models/hello-request';
|
|
|
|
async function main(PORT: Number, name: string) {
|
|
const client = new GreeterClient(
|
|
`localhost:${PORT}`,
|
|
grpc.credentials.createInsecure(),
|
|
);
|
|
const builder = new flatbuffers.Builder();
|
|
const offset = builder.createString(name);
|
|
const root = HelloRequest.createHelloRequest(builder, offset);
|
|
builder.finish(root);
|
|
const buffer = HelloRequest.getRootAsHelloRequest(
|
|
new flatbuffers.ByteBuffer(builder.asUint8Array()),
|
|
);
|
|
|
|
client.SayHello(buffer, (err, response) => {
|
|
console.log(response.message());
|
|
});
|
|
|
|
const data = client.SayManyHellos(buffer, null);
|
|
|
|
data.on('data', (data) => {
|
|
console.log(data.message());
|
|
});
|
|
}
|
|
|
|
const args = process.argv.slice(2);
|
|
const PORT = Number(args[0]);
|
|
const name: string = args[1] ?? 'flatbuffers';
|
|
|
|
if (PORT) {
|
|
main(PORT, name);
|
|
} else {
|
|
throw new Error('Requires a valid port number.');
|
|
}
|