From 58de4bb47d94e9b95f6baa0fff90cbf8abcff3e3 Mon Sep 17 00:00:00 2001 From: Tanner Collin Date: Mon, 19 Jun 2017 22:17:04 +0000 Subject: [PATCH] Create socket connection and send a message --- package.json | 3 ++- server.js | 8 +++++++- src/app.js | 22 ++++++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 86e8150..afad5f1 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "dependencies": { "express": "^4.15.3", "react": "^15.6.1", - "react-dom": "^15.6.1" + "react-dom": "^15.6.1", + "socket.io": "^2.0.3" } } diff --git a/server.js b/server.js index 3db2e93..604726d 100644 --- a/server.js +++ b/server.js @@ -7,6 +7,12 @@ app.get('/hello', function (req, res) { res.send('Hello World!') }) -app.listen(3000, function () { +const server = app.listen(3000, function () { console.log('Example app listening on port 3000!') }) + +const io = require('socket.io').listen(server); + +io.on('connection', (socket) => { + socket.emit('message', 'hello socket'); +}); diff --git a/src/app.js b/src/app.js index a209484..43d7264 100644 --- a/src/app.js +++ b/src/app.js @@ -1,4 +1,5 @@ import React from 'react'; +import io from 'socket.io-client'; export default class App extends React.Component { constructor(props) { @@ -8,9 +9,30 @@ export default class App extends React.Component { ioState: { dout: [false], }, + socket: io.connect() } } + componentDidMount() { + this.connect(); + } + + componentWillUnmount() { + this.setState({socket: this.state.socket.removeAllListeners()}); + } + + connect() { + let socket = this.state.socket; + + socket.on('connect', () => { + console.log('connected'); + }); + + socket.on('message', (data) => { + console.log(data); + }); + } + doutSet(pin, value) { this.setState({ ioState: {