Book Image

DART Essentials

Book Image

DART Essentials

Overview of this book

This book is targeted at expert programmers in JavaScript who want to learn Dart quickly. Some previous experience with OOP programming in other languages and a good knowledge of JavaScript are assumed.
Table of Contents (11 chapters)
10
Index

Writing a chat app with the WebSockets server


WebSockets is a protocol for bidirectional communication between a web browser and a server. The fact that a server can actively send you messages is the most important thing and is probably the only reason why you might want to use WebSockets in the future. There used to be some fallbacks for browsers that don't support WebSockets, such as long pooling, but we're not going to use any of them and assume that our browsers are up to date with proper WebSockets support.

Our chat WebSockets server spawns an HTTP server that listens to WebSockets headers and implements a handshake between the two endpoints to switch to the WebSockets protocol (the so-called upgrade request).

Later, we'll log all chat messages in a MySQL database.

So first, we'll create an HTTP server that implements "upgrade requests" and a class that holds all our active WebSockets connections. All we need to write HTTP servers is part of the dart:async package:

// bin/server.dart
import...