Как отправить EOF при использовании ws.send() в javascript с использованием модуля ws npm
Я использую модуль ws npm для создания клиента websocket и отправки большого потока данных на сервер websocket с помощью метода send()
Я не совсем понимаю, как я могу сообщить серверу, что клиент отправил все данные, и сервер может начать обработку, т.е. как отправить EOF с клиента?
Это мой сервер:
import WebSocket = require('ws');
import fs = require('fs');
var port: number = 8989;
var WebSocketServer = WebSocket.Server;
var wss = new WebSocketServer({ port: port });
wss.on('connection', (ws: WebSocket) => {
console.log('Web Socket Server Connected');
ws.on('close', function() {
console.log("Connection closed by client");
//ws.close();
});
//connection is up, let's add a simple simple event
ws.on('message', (message: string) => {
console.log('Data received from client');
ws.send(message);
} catch(error) {
console.log('Connection is closed');
}
});
//send immediatly a feedback to the incoming connection
ws.send('Hi there, I am a WebSocket server');
});
console.log(`Server started on port 8989`);
Это мой код клиента:
const ws = new WebSocket('ws://localhost:8989/');
try {
ws.on('open', function open() {
console.log('Connected to Server');
ws.send(streamData);
});
} catch (error) {
}
ws.on('message', (returnData: Buffer) => {
// tslint:disable-next-line:no-console
console.log('Message from Server: ' + returnData.length);
console.log('Data received from server');
});
ws.on('close', function close() {
// tslint:disable-next-line:no-console
console.log('Closing connection');
});
});
Я просто отправляю streamData с клиента на сервер и передаю данные обратно с сервера на клиент.
Я хочу знать, как отправить EOF от клиента к серверу, чтобы сервер знал, что он получил все данные, и может выполнить некоторую обработку данных.
заранее спасибо