server for my chess game
Diffstat (limited to 'src/index.js')
-rw-r--r--src/index.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/index.js b/src/index.js
new file mode 100644
index 0000000..5523449
--- /dev/null
+++ b/src/index.js
@@ -0,0 +1,33 @@
+const net = require('net')
+const { putVar, getVar } = require('@gd-com/utils')
+const StreamTcp = require('./StreamTcp')
+
+let server = net.createServer((socket) => {
+ const tcpSplit = new StreamTcp()
+ socket.pipe(tcpSplit).on('data', (data) => {
+ const packet = new Buffer.from(data)
+
+ const decoded = getVar(packet)
+ console.log('receive :', decoded.value)
+
+ const packetToSend = putVar(Math.random())
+
+ // we need to put the packet length on top cause it's tcp
+ const lengthBuffer = Buffer.alloc(4)
+ lengthBuffer.writeUInt32LE(packetToSend.length, 0)
+ const toSend = Buffer.concat([lengthBuffer, packetToSend])
+
+ console.log('send :', toSend)
+ socket.write(toSend)
+ })
+
+ socket.on('error', () => console.log('Bye :('))
+})
+
+server.on('error', (err) => {
+ throw err
+})
+
+server.listen(9090, '127.0.0.1', () => {
+ console.log(`Server launched TCP 127.0.0.1:${9090}`)
+})