当前位置: 首页 > news >正文

棋牌网站怎么做网页设计作业怎么交

棋牌网站怎么做,网页设计作业怎么交,房产局网站建设方案,wordpress官方下载使用Go快速开发TCP公共服务 文章目录 使用Go快速开发TCP公共服务一、前言二、实现思路三、源码四、测试使用五、最后 一、前言 之前使用的公共TCP服务无法使用了#xff0c;想了一下整个实现原理不是很复杂#xff0c;就利用Go快速开发了一个#xff0c;利用公网服务器可以…使用Go快速开发TCP公共服务 文章目录 使用Go快速开发TCP公共服务一、前言二、实现思路三、源码四、测试使用五、最后 一、前言 之前使用的公共TCP服务无法使用了想了一下整个实现原理不是很复杂就利用Go快速开发了一个利用公网服务器可以快速部署起来。 二、实现思路 在不考虑多用户使用数据存储的情况下总体实现思路比较简单1、tcp服务接收tcp客户端消息2、http服务端共享tcp服务端接收到的消息并通过接口方式提供给前端获取。提供给前端调用的方式参考了实时通信的服务器推送机制 EventSource(SSE) https://blog.csdn.net/DisMisPres/article/details/130539861。 三、源码 服务端程序tcp_http_server.go package mainimport (bufiofmtgopkg.in/antage/eventsource.v1lognetnet/httptime )var recvStr string// TCP Server端测试 // 处理函数 func process(conn net.Conn) {defer conn.Close() // 关闭连接for {reader : bufio.NewReader(conn)var buf [8192]byten, err : reader.Read(buf[:]) // 读取数据if err ! nil {fmt.Println(read from client failed, err: , err)break}recvStr string(buf[:n])fmt.Println(收到Client端发来的数据, recvStr)} }func main() {listen, err : net.Listen(tcp, :8027)if err ! nil {fmt.Println(Listen() failed, err: , err)return}es : eventsource.New(nil, nil)defer es.Close()http.Handle(/, http.FileServer(http.Dir(./html)))http.Handle(/events, es)go func() {for {// 每2秒发送一条当前时间消息并打印对应客户端数量if recvStr ! {es.SendEventMessage(recvStr, , )recvStr }time.Sleep(1 * time.Second)}}()log.Println(Open URL http://127.0.0.1:8016/ in your browser.)go func() {err : http.ListenAndServe(:8016, nil)if err ! nil {}}()for {conn, err : listen.Accept() // 监听客户端的连接请求if err ! nil {fmt.Println(Accept() failed, err: , err)continue}go process(conn) // 启动一个goroutine来处理客户端的连接请求} }index.html放在html目录下和go中设置的文件路径对应 !DOCTYPE html html langen headmeta charsetUTF-8titleTCP服务/titlescript typetext/javascriptwindow.addEventListener(DOMContentLoaded, function () {var evsrc new EventSource(http://127.0.0.1:8016/events);var msgEvent function (ev) {console.log(ev.data)var text ev.data;document.getElementById(log).innerText textdocument.getElementById(log).innerText \n}evsrc.onmessage msgEvent;//evsrc.addEventListener(message, msgEvent)evsrc.onerror function (ev) {console.log(readyState ev.currentTarget.readyState);}})/script /head body h1SSE test/h1 divul idlog/ul /div /body /html编译多平台适用的脚本build.bat set releasedate%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2% SET CGO_ENABLED0 SET GOARCHamd64 SET GOOSwindows go build -o ./bin/tcpHttpServer.exeSET CGO_ENABLED0 SET GOARCHamd64 SET GOOSlinux go build -o ./bin/tcpHttpServer四、测试使用 我上面的端口使用情况 tcp服务8027端口 http服务8016端口 index.html默认写死了调用接口http://127.0.0.1:8016/events 服务端启动 TCP客户端模拟发送 服务端接收到 浏览器查看 五、最后 如上为demo演示作为小工具够用了实际项目可以做更多的扩展比如多用户展示及使用历史测试数据存储及展示端口可配置hex数据收发展示通信方式扩展等等。
http://www.huolong8.cn/news/386795/

相关文章:

  • 龙华做网站的page如何转换为wordpress
  • 查询网站注册信息网站项目建设流程
  • 石家庄怎样做网站淄博网站建设培训学校
  • 专门做诺丽果的网站网站404页面做晚了
  • 免费提交网址的网站关键词的选择网站提示
  • 江山做网站做网站卖产品
  • 在网站里继费做慧聪网价格网站价格
  • 宁波做网站建设推广网站关键词和网站描述
  • 如何制作自己的公司网站著名建筑设计案例
  • 网站设计 验收标准如何用微信打开微网站
  • 不会编程怎样建设网站网站秒收录秒排名
  • 网站设计的一般步骤是什么?搜索关键词是什么意思
  • 建设企业网站公积金wordpress 标签设置
  • 湖南官网网站推广软件商丘做网站推广的公司
  • 在线网站建设系统网页编辑怎么打开
  • 营销型网站架构师临沂seo顾问
  • 做文案选图片素材的网站河北省住房和城乡建设厅官网
  • 网站闪图怎么做的能用的网站
  • dede网站模板页在什么文件夹html5手机网站开发区别
  • 营销型网站建设的五力原则wordpress博客 知乎
  • 对商家而言网站建设的好处网站建设应急处置方案
  • 庆阳网站设计服务公司网站网络营销是什么
  • 建设网站教程视频我要建网站需要什么
  • 社科联网站建设方案策划书阳春网站开发
  • 服务好的岑溪网站开发生意网官网
  • 旅游网站建设技术有哪些方面阳江房产信息网官网
  • 蓝色系网站设计优秀电商网站
  • 网站怎么才能被搜到模板网站劣势
  • 深圳网站建设运营公司花瓣网 素材 图库
  • 南阳哪有做网站公司开放性wifi