WebSocket 简单实现

Posted 杰哥的技术杂货铺

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebSocket 简单实现相关的知识,希望对你有一定的参考价值。

前言

使用go语言开发web服务器时,常常需要web端发送请求给服务端,如果碰到需要长连接的情况,服务端处理http请求往往占用大量资源,而websocket则能使web端和服务端维持长连接。除此之外,建立长连接亦可以使服务端主动向web端推送消息,从而为项目提供更加丰富的功能。

本文面向初次使用go开发web服务端的读者,建立并完成一个完整的web端与服务端实时通信项目。并在文章末尾贴出了开发中的踩坑点,供初学者参考。

正文

目标:web端发起websocket连接,服务端侦听到连接,并处理前端的请求。

背景: javascript完全支持完整的websocket通信,仅需要使用相应函数即可实现通信需求;

golang对websocket无原生支持,需要以将通信发起之初的http连接升级为websocket连接,其原理相关介绍很多,由于需求场景很多,golang有维护较好的第三方库可供方便使用,本文仅针对需快速实现连接功能需求的读者参考。

前端

目标:一个显示服务器时间的段落,一个触发websocket连接的按钮

代码:

<!DOCTYPE html>
<html>
 
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>TestWebsocket</title>
 
    <script type="tex

以上是关于WebSocket 简单实现的主要内容,如果未能解决你的问题,请参考以下文章

WebSocket入门教程-- WebSocket实例:简单多人聊天室

SpringBoot+Vue+WebSocket 实现在线聊天

习惯了微信聊天,利用WebSocket手动实现个聊天功能怎么样?

iOS通过SocketRocket实现websocket的即时聊天

使用WebSocket实现网页聊天室

websocket IM 聊天教程-教你用 GoEasy 快速实现 IM 聊天