Skip to content

Instantly share code, notes, and snippets.

@siddhantkushwaha
Created July 3, 2021 03:07
Show Gist options
  • Save siddhantkushwaha/0572640264122cbd281e13154264b245 to your computer and use it in GitHub Desktop.
Save siddhantkushwaha/0572640264122cbd281e13154264b245 to your computer and use it in GitHub Desktop.
Socket server and client in node js.
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)
}
})
})
}
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