Servicio de chat con Node.js y despliegue en Heroku

Mensajes al servidor

El siguiente paso es que el cliente pueda enviar mensajes al servidor.

Para hacerlo debemos emitir un mensaje del cliente hacia el servidor, pero no vamos a emitirlo a cualquier sitio sino a un evento llamado por ejemplo nuevo_mensaje:

server.js

socket.on('nuevo_mensaje', (message) => {
	console.log(message)
})

De vuelta al cliente vamos a detectar cuando se envía el formulario, recuperaremos los datos y los emitiremos al servidor en una pequeña estructura que representará un mensaje:

public/index.html

// Capturamos el clic en el botón de enviar
var form = $("form").on("submit", function(e){
  // Desactivamos el formulario para enviarlo con JS
  e.preventDefault() 
  // Creamos un objeto con el mensaje
  var message = {
    name: $("#username").val(), 
    content: $("#content").val()
  }
  // Lo emitimos
  socket.emit("nuevo_mensaje", message)
})

Si enviamos un mensaje veréis que aparece en el servidor el objeto que lo contiene.