Go 搭建一个简单 WebSocket 服务端代码例子 test.go, 如下:
package main
import (
"fmt"
"log"
"net/http"
"golang.org/x/net/websocket"
)
func Echo(ws *websocket.Conn) {
var err error
for {
var reply string
if err = websocket.Message.Receive(ws, &reply); err != nil {
fmt.Println("Can't receive")
break
}
fmt.Println("Received back from client: " + reply)
msg := "Received: " + reply
fmt.Println("Sending to client: " + msg)
if err = websocket.Message.Send(ws, msg); err != nil {
fmt.Println("Can't send")
break
}
}
}
func main() {
http.Handle("/", websocket.Handler(Echo))
if err := http.ListenAndServe(":1234", nil); err != nil {
log.Fatal("ListenAndServe:", err)
}
}
运行服务端:
go run test.go
在 Firefox 或 Chrome 控制台,可以用以下代码发起客户端的 WebSocket 连接:
var wsServer = 'ws://localhost:1234';
var websocket = new WebSocket(wsServer);
websocket.onopen = function (evt) {
console.log("Connected to WebSocket server.");
};
websocket.onclose = function (evt) {
console.log("Disconnected");
};
websocket.onmessage = function (evt) {
console.log('Retrieved data from server: ' + evt.data);
};
websocket.onerror = function (evt, e) {
console.log('Error occured: ' + evt.data);
};
执行以上代码,得到输出日志:Connected to WebSocket server,表示 WebSocket 连接建立成功。
使用如下代码可以发送数据,如:
websocket.send(2323)
并且马上得到服务端返回的内容,这里是原样返回。
服务端日志如下:
这就使用 Go 搭建了一个简单的 WebSocket 服务端。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# websocket
# 服务端
# 服务端实现
# 服务端搭建
# go的websocket实现原理与用法详解
# Go 实现百万WebSocket连接的方法示例
# golang基于websocket实现的简易聊天室程序
# 利用 Go 语言编写一个简单的 WebSocket 推送服务
# golang websocket 服务端的实现
# Golang使用WebSocket通信的实现
# 使用Go语言创建WebSocket服务的实现示例
# goland 实现websocket server的示例代码
# 可以用
# 这就
# 这篇文章
# 谢谢大家
# 客户端
# 有疑问
# error
# reply
# string
# Conn
# ws
# err
# var
# break
# receive
# client
# Received
# Println
相关文章:
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
如何用5美元大硬盘VPS安全高效搭建个人网站?
建站主机如何选?性能与价格怎样平衡?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
浅谈Javascript中的Label语句
黑客如何利用漏洞与弱口令入侵网站服务器?
个人网站制作流程图片大全,个人网站如何注销?
简单实现Android验证码
音响网站制作视频教程,隆霸音响官方网站?
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
焦点电影公司作品,电影焦点结局是什么?
如何在万网自助建站中设置域名及备案?
网站制作说明怎么写,简述网页设计的流程并说明原因?
宝塔建站助手安装配置与建站模板使用全流程解析
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
相册网站制作软件,图片上的网址怎么复制?
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
如何在IIS中新建站点并配置端口与物理路径?
如何通过西部数码建站助手快速创建专业网站?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
建站主机选购指南:核心配置优化与品牌推荐方案
魔方云NAT建站如何实现端口转发?
香港服务器部署网站为何提示未备案?
C#如何序列化对象为XML XmlSerializer用法
Thinkphp 中 distinct 的用法解析
如何用wdcp快速搭建高效网站?
如何在阿里云ECS服务器部署织梦CMS网站?
智能起名网站制作软件有哪些,制作logo的软件?
C#如何使用XPathNavigator高效查询XML
建站之星如何取消后台验证码生成?
建站之星ASP如何实现CMS高效搭建与安全管理?
如何快速搭建高效可靠的建站解决方案?
电商平台网站制作流程,电商网站如何制作?
网站制作壁纸教程视频,电脑壁纸网站?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
宝塔面板创建网站无法访问?如何快速排查修复?
网站制作新手教程,新手建设一个网站需要注意些什么?
建站VPS推荐:2025年高性能服务器配置指南
建站之星云端配置指南:模板选择与SEO优化一键生成
,在苏州找工作,上哪个网站比较好?
如何选择高效稳定的ISP建站解决方案?
如何打造高效商业网站?建站目的决定转化率
湖北网站制作公司有哪些,湖北清能集团官网?
如何快速搭建个人网站并优化SEO?
韩国服务器如何优化跨境访问实现高效连接?
建站主机与虚拟主机有何区别?如何选择最优方案?
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
如何正确选择百度移动适配建站域名?
*请认真填写需求信息,我们会在24小时内与您取得联系。