Skip to content

Instantly share code, notes, and snippets.

@radu-matei
Created November 25, 2017 20:15
Show Gist options
  • Save radu-matei/015f4bcb856659d33484adf030bde50a to your computer and use it in GitHub Desktop.
Save radu-matei/015f4bcb856659d33484adf030bde50a to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html>
<head>
<title>Simple Chat</title>
</head>
<body>
<div class="container">
<input type="text" id="message" />
<input type="button" id="sendMessage" value="Send" />
<ul id="discussion"></ul>
</div>
<script type="text/javascript" src="signalr-client-1.0.0-alpha2-final.js"></script>
<script type="text/javascript">
var transport = signalR.TransportType.WebSockets;
var connection = new signalR.HubConnection(`http://${document.location.host}/chat`, { transport: transport });
var messageInput = document.getElementById('message');
var name = prompt('Enter your name:', '');
var button = document.getElementById("sendMessage");
connection.on('broadcastMessage', (name, message) => {
var liElement = document.createElement('li');
liElement.innerHTML = '<strong>' + name + '</strong>:&nbsp;&nbsp;' + message;
document.getElementById('discussion').appendChild(liElement);
});
button.addEventListener("click", event => {
connection.invoke('send', name, messageInput.value);
messageInput.value = '';
messageInput.focus();
});
connection.start();
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment