Я использую модуль 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 от клиента к серверу, чтобы сервер знал, что он получилвсе данные и может сделать некоторую обработку данных.
Заранее спасибо