Created
July 3, 2021 03:07
-
-
Save siddhantkushwaha/0572640264122cbd281e13154264b245 to your computer and use it in GitHub Desktop.
Socket server and client in node js.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const net = require('net'); | |
const sendMessage = (port, message) => { | |
return new Promise((resolve, reject) => { | |
const client = net.createConnection(port, () => { | |
try { | |
console.log('Sending message', message) | |
const messageSerialized = JSON.stringify(message) | |
client.write(messageSerialized) | |
} | |
catch (err) { | |
reject(err) | |
} | |
}).on('error', err => { | |
reject(err) | |
}) | |
client.on('data', (data) => { | |
try { | |
const response = data.toString() | |
const responseUnserialized = JSON.parse(response) | |
console.log('Response received', responseUnserialized) | |
client.end() | |
resolve(response) | |
} | |
catch (err) { | |
reject(err) | |
} | |
}) | |
}) | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const net = require('net'); | |
const server = net.createServer(socket => { | |
socket.on('data', data => { | |
try { | |
const dataSerialized = data.toString() | |
console.log('Data received', dataSerialized) | |
const responseSerialized = handleMessage(dataSerialized) | |
console.log('Sending response to client', responseSerialized) | |
socket.write(responseSerialized) | |
socket.end() | |
} | |
catch (err) { | |
console.error(err) | |
} | |
}) | |
}).on('error', err => { | |
console.error('Could not initialize server.', err) | |
}) | |
const handleMessage = data => { | |
const jsonData = JSON.parse(data) | |
// consume json data, send response | |
const response = { | |
'status': 0, | |
} | |
const responseSerialized = JSON.stringify(response) | |
return responseSerialized | |
} | |
server.listen(1626, () => { | |
console.log('Unity server listenting on', server.address().port); | |
}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment