全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

利用Go语言搭建WebSocket服务端方法示例

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小时内与您取得联系。