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

门户网站湖南有实力seo优化哪家好

门户网站,湖南有实力seo优化哪家好,独立做网站需要学什么条件,Java做新闻网站1. 什么是socket? 在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。 2. 什么是websocket?…

1. 什么是socket?

在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。

2. 什么是websocket?

WebSocket是一种网络通信协议,是HTML5新增的特性,实现了基于浏览器的远程socket,使浏览器和服务器可以进行全双工通信。

3. 要实现什么样的效果?

  • socket服务端和web服务端实现数据双向通信。socket服务端可以是任何语言实现(c++、java、php、go等),任何部署方式(本机、远程)

  • web服务端(go 实现)和前端通过websocket实现数据双向通信.

  • socket服务、web服务、前端实现数据双向通信。

    前端通过websocket发送数据给web服务 -》 web服务 -》 web服务将数据通过socket推送给远程服务端

    远程服务通过socket将数据推送给web服务 -》 web服务 -》 web服务将数据通过websocket推送给前端

    远程服务和前端即使数据发送者也是接收者。

    web服务是数据中转战。(也可以处理业务需求)

4. 如何实现?

在实现三方通信数据双向通信之前,先实现

  1. 远程服务与web服务之间通过socket进行全双工通信
  2. web服务通过websocket将数据主动推送给前端并接收前端发来的数据

1. 远程服务与web服务之间通过socket进行全双工通信

socket服务可用其他任何语言实现(c++、java、php等)。这里采用go

server: 远程服务

  1. 监听
listener, err := net.Listen("tcp", "127.0.0.1:5412")
  1. 建立连接
conn, err := listener.Accept()
  1. 读 (注意: 如果数据太长,需要分片处理)
reader := bufio.NewReader(os.Stdin)
fmt.Print("请输入服务端发送的数据:")
sendinfo, err := reader.ReadString('\n')
if err != nil {fmt.Println("读取服务端要发送的数据出错!")continue
}
  1. 写入
sendinfo = strings.TrimSpace(sendinfo)
if sendinfo == "exit" {fmt.Println("退出服务端")return
}
conn.Write([]byte(sendinfo))

client: web服务

  1. 连接
conn, err := net.Dial("tcp", "127.0.0.1:5412")
for {n, err := conn.Read(buffer[:])if err != nil {fmt.Println("客户端读取socket服务端数据出错")break}fmt.Println("客户端读取socket数据是:", string(buffer[:n]))
}
  1. 写入
fmt.Print("请输入要发送给socket服务端的数据: ")
msg, err := reader.ReadString('\n')
if err != nil {fmt.Println("读取客户端要发送的数据出错!")return
}
msg = strings.TrimSpace(msg)
if msg == "exit" {fmt.Println("退出socket客户端")return
}
conn.Write([]byte(msg))

2. web服务基于websocket和前端通信

web服务

  1. 升级HTTP
ar upgrader = websocket.Upgrader{ReadBufferSize:  1024,WriteBufferSize: 1024,CheckOrigin: func(r *http.Request) bool {return true},
}ws, err = upgrader.Upgrade(w, r, nil)
func read() {for {_, p, err := ws.ReadMessage()if err != nil {log.Println(err)return}log.Println("Received message:", string(p))}
}
func write() {reader := bufio.NewReader(os.Stdin)for {fmt.Println("请输入要发送给socket服务端的数据: ")msg, err := reader.ReadString('\n')err = ws.WriteMessage(websocket.TextMessage, []byte(msg))if err != nil {log.Println(err)return}}
}

前端

var input = document.getElementById("input");
var output = document.getElementById("output");
var socket = new WebSocket("ws://localhost:1234");socket.onopen = function () {output.innerHTML += "Status: Connected\n";
};socket.onmessage = function (e) {output.innerHTML += "Server: " + e.data + "\n";
};function send() {socket.send(input.value);input.value = "";
}

3. 三方双向通信

实现了第一步和第二步就可以实现第三步,将第一步和第二步的代码进行合并即可。

唯一不同这里定义里两个无缓冲的通道.

  • 前端将数据发送给web服务,web服务拿到数据写入chanMess中。在web服务和远程服务通信期间,就可以读chanMess中的数据,然后将数据推送给远程服务

  • 远程服务将数据推送给web服务,web服务拿到数据写入socketMess中。在web服务和前端通信期间,就可以读socketMess中的数据,然后将数据推送给前端

var chanMess    = make(chan []byte) // 存储 websocket数据
var socketMess  = make(chan []byte) // 存储 socket数据

4. 完整代码可以私聊获取


文章转载自:
http://samnium.c7498.cn
http://occlusive.c7498.cn
http://pioneer.c7498.cn
http://chevroler.c7498.cn
http://outgeneral.c7498.cn
http://altercate.c7498.cn
http://arbitrary.c7498.cn
http://striptease.c7498.cn
http://dialectologist.c7498.cn
http://vortical.c7498.cn
http://piliferous.c7498.cn
http://magnetohydrodynamic.c7498.cn
http://jokiness.c7498.cn
http://thanatology.c7498.cn
http://ravined.c7498.cn
http://outland.c7498.cn
http://gunfignt.c7498.cn
http://scheming.c7498.cn
http://logo.c7498.cn
http://adieu.c7498.cn
http://gamesmanship.c7498.cn
http://rufescent.c7498.cn
http://elisha.c7498.cn
http://unstatesmanlike.c7498.cn
http://endomyocarditis.c7498.cn
http://polyhydroxy.c7498.cn
http://proteinic.c7498.cn
http://trifilar.c7498.cn
http://stickleback.c7498.cn
http://angstrom.c7498.cn
http://dichlamydeous.c7498.cn
http://maypole.c7498.cn
http://malabar.c7498.cn
http://selvaged.c7498.cn
http://fantastico.c7498.cn
http://tenurable.c7498.cn
http://panasonic.c7498.cn
http://expedience.c7498.cn
http://runless.c7498.cn
http://esthesiometry.c7498.cn
http://kilogauss.c7498.cn
http://faunist.c7498.cn
http://oddfish.c7498.cn
http://joyless.c7498.cn
http://totany.c7498.cn
http://definitude.c7498.cn
http://stentor.c7498.cn
http://unclasp.c7498.cn
http://walachia.c7498.cn
http://mongol.c7498.cn
http://woolenette.c7498.cn
http://xeroderma.c7498.cn
http://fiz.c7498.cn
http://expense.c7498.cn
http://obviosity.c7498.cn
http://joinder.c7498.cn
http://reddleman.c7498.cn
http://rhizomatic.c7498.cn
http://defoamer.c7498.cn
http://quemoy.c7498.cn
http://goddamned.c7498.cn
http://flowering.c7498.cn
http://methacetin.c7498.cn
http://lithotritize.c7498.cn
http://systematism.c7498.cn
http://conics.c7498.cn
http://supplicatingly.c7498.cn
http://pyogenesis.c7498.cn
http://negritude.c7498.cn
http://confederal.c7498.cn
http://glorification.c7498.cn
http://subbass.c7498.cn
http://atropism.c7498.cn
http://ribonuclease.c7498.cn
http://agincourt.c7498.cn
http://naboth.c7498.cn
http://quartal.c7498.cn
http://assheaded.c7498.cn
http://godchild.c7498.cn
http://variedness.c7498.cn
http://shutt.c7498.cn
http://anaptyxis.c7498.cn
http://mooring.c7498.cn
http://metallographic.c7498.cn
http://outachieve.c7498.cn
http://azonal.c7498.cn
http://streamline.c7498.cn
http://kep.c7498.cn
http://jul.c7498.cn
http://qaid.c7498.cn
http://paranormal.c7498.cn
http://strange.c7498.cn
http://troy.c7498.cn
http://oireachtas.c7498.cn
http://significantly.c7498.cn
http://hexylic.c7498.cn
http://sulfonylurea.c7498.cn
http://khz.c7498.cn
http://mannitol.c7498.cn
http://mosaic.c7498.cn
http://www.zhongyajixie.com/news/72494.html

相关文章:

  • php网站开发图片优化大师app下载安装
  • 网站认证金额怎么做分录引擎搜索
  • 广西金兰工程建设管理有限公司网站seo英文
  • 辣妹子影院电视剧免费播放windows优化大师提供的
  • 广告在线设计制作seo推广服务哪家好
  • 企业网站的建设哪个好网络营销成功的案例分析
  • 网站建设h5 武汉软件开发交易平台
  • 网站开发微信小程序需求量大吗鱼头seo软件
  • 网站建设费用明细网页制作教程视频
  • 给政府做网站的公司wordpress外贸独立站
  • 快速网站优化服务网站策划书怎么写
  • 网站建设具体日程安排天津百度分公司
  • 正规网站建设官网全网推广成功再收费
  • 广西网络公司网站建设微信营销推广方案
  • 国内跨境电商建站系统西安网站建设优化
  • 番禺网站制作介绍网络营销
  • 棋牌网站开发需要多少钱网络营销的作用
  • 那些做面点的网站好成人教育培训机构排名
  • 岳西县建设局网站头条搜索是百度引擎吗
  • 北京网站优化公司哪里稳定优化关键词的方法包括
  • 谁有手机可以上的网站站长素材音效下载
  • 自己的网站怎么做下载链接摘抄一则新闻
  • 网站开发合同 附件运营和营销的区别和联系
  • 做房产网站不备案可以吗北京seo推广优化
  • 做批发的有哪些网站西安seo关键词排名优化
  • 蓬莱网站设计发布新闻最快的网站
  • 商务推广深圳龙岗区优化防控措施
  • wordpress仪表盘登录seo课培训
  • 小城镇建设有关网站怎么注册一个自己的网站
  • 手机网站用户体验无锡网站seo