11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_ci 31cb0ef41Sopenharmony_ciconst common = require('../common'); 41cb0ef41Sopenharmony_ciconst assert = require('assert'); 51cb0ef41Sopenharmony_ciconst dgram = require('dgram'); 61cb0ef41Sopenharmony_ci 71cb0ef41Sopenharmony_ciconst client = dgram.createSocket('udp4'); 81cb0ef41Sopenharmony_ci 91cb0ef41Sopenharmony_ciconst onMessage = common.mustCall(function(err, bytes) { 101cb0ef41Sopenharmony_ci assert.strictEqual(bytes, buf1.length + buf2.length); 111cb0ef41Sopenharmony_ci}); 121cb0ef41Sopenharmony_ci 131cb0ef41Sopenharmony_ciconst buf1 = Buffer.alloc(256, 'x'); 141cb0ef41Sopenharmony_ciconst buf2 = Buffer.alloc(256, 'y'); 151cb0ef41Sopenharmony_ci 161cb0ef41Sopenharmony_ciclient.on('listening', function() { 171cb0ef41Sopenharmony_ci const toSend = [buf1, buf2]; 181cb0ef41Sopenharmony_ci client.send(toSend, this.address().port, common.localhostIPv4, onMessage); 191cb0ef41Sopenharmony_ci toSend.splice(0, 2); 201cb0ef41Sopenharmony_ci}); 211cb0ef41Sopenharmony_ci 221cb0ef41Sopenharmony_ciclient.on('message', common.mustCall(function onMessage(buf, info) { 231cb0ef41Sopenharmony_ci const expected = Buffer.concat([buf1, buf2]); 241cb0ef41Sopenharmony_ci assert.ok(buf.equals(expected), 'message was received correctly'); 251cb0ef41Sopenharmony_ci client.close(); 261cb0ef41Sopenharmony_ci})); 271cb0ef41Sopenharmony_ci 281cb0ef41Sopenharmony_ciclient.bind(0); 29