Table of Contents
1. Create a WebSocket Connection
2. Handle Connection Events
3. Send and Receive Data
4. Close the Connection
Important Notes
Home Web Front-end H5 Tutorial How do you use websockets in HTML5?

How do you use websockets in HTML5?

Aug 13, 2025 am 02:22 AM
html5

WebSockets in HTML5 enable full-duplex, real-time communication between client and server through a persistent connection. 1. Create a WebSocket connection using const socket = new WebSocket('wss://example.com/socket'); with ws:// or wss:// protocol. 2. Handle events: 'open' for connection established, 'message' for incoming data, 'error' for errors, and 'close' for connection closure, each via addEventListener. 3. Send data using socket.send() with text, JSON (using JSON.stringify), or binary; receive data through the 'message' event, parsing JSON as needed. 4. Close the connection gracefully with socket.close() and optionally provide a code and reason. The server must support WebSocket protocol using frameworks like ws in Node.js or websockets in Python, and production applications should implement reconnection logic and respect same-origin policies, ensuring both client and server can communicate effectively through this persistent channel.

How do you use websockets in HTML5?

WebSockets in HTML5 allow for full-duplex, real-time communication between a client (like a web browser) and a server. Unlike traditional HTTP requests, which are stateless and request-response based, WebSockets keep a persistent connection open, enabling either side to send data at any time.

How do you use websockets in HTML5?

Here’s how you use WebSockets in HTML5:

1. Create a WebSocket Connection

You start by creating a new WebSocket object in JavaScript, passing the server URL with the ws:// or wss:// (secure) protocol.

How do you use websockets in HTML5?
const socket = new WebSocket('wss://example.com/socket');
  • Use ws:// for unencrypted connections (like HTTP).
  • Use wss:// for encrypted connections (like HTTPS).

2. Handle Connection Events

The WebSocket object emits events you can listen to:

  • open: Fired when the connection is established.
  • message: Fired when a message is received from the server.
  • error: Fired when an error occurs.
  • close: Fired when the connection is closed.

Example:

How do you use websockets in HTML5?
// Connection opened
socket.addEventListener('open', (event) => {
  console.log('Connected to server');
  socket.send('Hello Server!');
});

// Listen for messages
socket.addEventListener('message', (event) => {
  console.log('Message from server:', event.data);
});

// Handle errors
socket.addEventListener('error', (event) => {
  console.error('WebSocket error:', event);
});

// Handle connection close
socket.addEventListener('close', (event) => {
  console.log('Connection closed');
});

3. Send and Receive Data

Once connected, you can send data using the send() method. The server can also send data at any time.

// Send a message to the server
socket.send('Hello, server!');

// Receiving messages is handled in the 'message' event above

You can send text, JSON, or even binary data like ArrayBuffer or Blob.

Example with JSON:

const data = { type: 'chat', message: 'Hi everyone!' };
socket.send(JSON.stringify(data));

And to handle incoming JSON:

socket.addEventListener('message', (event) => {
  const data = JSON.parse(event.data);
  console.log('Received:', data);
});

4. Close the Connection

To close the connection gracefully, call the close() method:

socket.close();

You can also pass a code and a reason:

socket.close(1000, 'Closing normally');

Important Notes

  • The server must support WebSocket protocol — standard HTTP servers won’t work.
  • Common backend implementations use Node.js (with ws or Socket.IO), Python (with websockets or Flask-SocketIO), or other WebSocket-enabled frameworks.
  • Always handle reconnection logic in production apps in case the connection drops.
  • Be cautious with cross-origin policies — WebSocket connections follow the same-origin policy unless the server explicitly allows it.

Basically, WebSockets give you a persistent pipe between browser and server. Once set up, they’re simple to use with just a few event listeners and the send() method. Just remember: the backend must be built to handle WebSocket connections — HTML5 provides the client tools, but the server needs to speak the same language.

The above is the detailed content of How do you use websockets in HTML5?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

PHP Tutorial
1535
276
What are HTML5 data attributes? What are HTML5 data attributes? Aug 06, 2025 pm 05:39 PM

HTML5dataattributesarecustom,validHTMLattributesusedtostoreextrainformationinelementsforJavaScriptorCSS.1.Theyaredefinedasdata-*attributes,likedata-user-id="123".2.Theyallowembeddingprivate,customdatadirectlyinmarkupwithoutaffectinglayoutor

What are the supported audio formats in HTML5? What are the supported audio formats in HTML5? Aug 05, 2025 pm 08:29 PM

HTML5 audio format support varies from browser to browser. The most commonly used formats include: 1.MP3 (.mp3, audio/mpeg, supported by all mainstream browsers, with the best compatibility); 2.WAV (.wav, audio/wav, support better but large files, suitable for short audio); 3.OGG (.ogg/.oga, audio/ogg, Chrome, Firefox, Opera support, Safari and IE are not supported, open source free); 4.AAC (.aac/.m4a, audio/aac, Safari, Chrome, Edge support, Firefox support is limited, often used in Apple devices). To ensure compatibility, the

How to use the canvas API for basic drawing in HTML5? How to use the canvas API for basic drawing in HTML5? Aug 07, 2025 am 07:15 AM

To use HTML5Canvas API for basic drawing, first create the canvas element in HTML and set the width and height attribute, and then get its 2D rendering context through JavaScript; 1. Use fillRect, strokeRect and clearRect to draw and clearRect; 2. Create paths and draw lines or custom shapes through beginPath, moveTo, lineTo and closePath; 3. Use arc to draw circles or arcs; 4. Use fillText and strokeText to add fill or stroke text; 5. Set fillStyle, strokeStyle, lin

What is the doctype in HTML5? What is the doctype in HTML5? Aug 06, 2025 am 01:15 AM

It is a necessary tag used in HTML5 to declare document types and must be located at the beginning of the document; its function is to ensure that the browser renders the page in standard mode to avoid compatibility issues caused by the lack of declarations; the declaration is concise, case-insensitive and does not require reference to DTD; correct use can ensure the expected behavior of HTML, CSS and JavaScript.

How to create a simple HTML5 webpage How to create a simple HTML5 webpage Aug 12, 2025 am 11:51 AM

To create a simple HTML5 web page, you need to first use the declaration document type, and then build a basic structure containing, and, which sets the character encoding, viewport and title, add visible content such as title, paragraph, link, pictures and lists. Save it as a .html file and open it directly in the browser for viewing, without server support. This is the basis of a complete and effective HTML5 page.

What is the aside element for in HTML5? What is the aside element for in HTML5? Aug 12, 2025 pm 04:37 PM

Theelementshouldbeusedforcontenttangentiallyrelatedtothemaincontent,suchassidebars,pullquotes,definitions,advertisements,orrelatedlinks;2.Itcanbeplacedinsideoroutsideanarticledependingoncontext;3.ItisasemanticelementthatenhancesaccessibilityandSEObyp

What is the readonly attribute in HTML5? What is the readonly attribute in HTML5? Aug 08, 2025 am 11:55 AM

ThereadonlyattributeinHTML5makesforminputsnon-editablewhilestillallowingsubmissionanduserinteraction;1.Itappliestoandelements;2.Itisabooleanattribute,soonly"readonly"needstobepresent;3.Unlike"disabled",itallowsfocusandthedataisinc

How to create a color picker in an HTML5 form? How to create a color picker in an HTML5 form? Aug 08, 2025 am 03:48 AM

Use type="color" to create an HTML5 color selector, 1. Use add color input; 2. You can set the default color value through the value attribute (must be in a 7-character hexadecimal format such as #ffffff); 3. All modern browsers support it, and older browsers will fall back to text input; 4. You can preview color changes in real time with JavaScript; 5. Label tags should be added to improve accessibility, and JavaScript library can be used to provide downgrade support when necessary. This method is simple, effective and widely supported.

See all articles