成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Go socket實現(xiàn)多語言間通信

Enlightenment / 1769人閱讀

摘要:它不局限于某一語言,這里我們主要講語言基于實現(xiàn)通訊。序列化采用,數(shù)據(jù)格式比較簡單支持多種語言。運行語言客戶端,在目錄下的或瀏覽器訪問配置自己的網(wǎng)址輸出結(jié)果小結(jié)選序列化,主要考慮它實現(xiàn)起來簡單,很多語言支持。

前言

socket提供了在傳輸層進行網(wǎng)絡(luò)編程的方法,它比基于http協(xié)議的接口傳輸更高效,RPC(Remote Procedure Call)是遠程過程調(diào)用,常用于分布式系統(tǒng)等,而rpc很多是基于socket實現(xiàn)的。不了解socket、http等協(xié)議請閱讀

https://blog.csdn.net/guyan03...。

Socket 都可以用“打開open –> 讀寫write/read –> 關(guān)閉close”模式來操作。它不局限于某一語言,這里我們主要講Go、php語言基于socket實現(xiàn)通訊。

序列化采用json,數(shù)據(jù)格式比較簡單,支持多種語言。

Go socket 采用c/s架構(gòu)

客戶端:net.Dial() Write() Read() Close()

服務(wù)器:net.Listen() Accept() Read() Write() Close()

源代碼地址:https://github.com/guyan0319/...
測試

1、下載源代碼至GOPATH目錄golangSocketPhp

2、運行服務(wù)端,在example目錄下server.go

go run server.php

輸出:

Waiting for clients

3、新窗口下運行客戶端,在example目錄下client.go

go run client.go

輸出:

receive data string[6]:golang

golang這個是從服務(wù)端返回的數(shù)據(jù)。

4、運行php語言客戶端,在php目錄下的socket_client.php

php -f socket_client.php

或瀏覽器訪問 http://localhost/xxx/socket_c... 配置自己的網(wǎng)址

輸出結(jié)果:

client write success
server return message is:
php

小結(jié):

選json序列化,主要考慮它實現(xiàn)起來簡單,很多語言支持。缺點是序列化效率低,序列化后數(shù)據(jù)相對比較大(這里跟protobuf對比)。

links

目錄

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/31820.html

相關(guān)文章

  • 云計算、物聯(lián)網(wǎng)讓終端更智能

    摘要:在召開的移動智能終端峰會上,中國工程院院士鄔賀銓發(fā)表致辭,他表示,借助窄帶物聯(lián)網(wǎng)云計算大數(shù)據(jù)分析等技術(shù),智能終端正變得越來越智能。最后,鄔賀銓表示,計算技術(shù)與操作系統(tǒng)及寬帶移動通信技術(shù)為移動終端的智能化打下基礎(chǔ)?! ≡谡匍_的2016移動智能終端峰會上,中國工程院院士鄔賀銓發(fā)表致辭,他表示,借助窄帶物聯(lián)網(wǎng)、云計算、大數(shù)據(jù)分析等技術(shù),智能終端正變得越來越智能。用戶通過移動智能終端獲得更多的智能感...

    Corwien 評論0 收藏0
  • 帶入gRPC:gRPC及相關(guān)介紹

    摘要:原文地址帶入及相關(guān)介紹項目地址作為開篇章,將會介紹相關(guān)的一些知識。 原文地址:帶入gRPC:gRPC及相關(guān)介紹 項目地址:go-grpc-example 作為開篇章,將會介紹 gRPC 相關(guān)的一些知識。簡單來講 gRPC 是一個 基于 HTTP/2 協(xié)議設(shè)計的 RPC 框架,它采用了 Protobuf 作為 IDL 你是否有過疑惑,它們都是些什么?本文將會介紹一些常用的知識和概念,更詳...

    y1chuan 評論0 收藏0
  • 帶入gRPC:gRPC及相關(guān)介紹

    摘要:帶入及相關(guān)介紹原文地址帶入及相關(guān)介紹項目地址作為開篇章,將會介紹相關(guān)的一些知識。 帶入gRPC:gRPC及相關(guān)介紹 原文地址:帶入gRPC:gRPC及相關(guān)介紹 項目地址:go-grpc-example 作為開篇章,將會介紹 gRPC 相關(guān)的一些知識。簡單來講 gRPC 是一個 基于 HTTP/2 協(xié)議設(shè)計的 RPC 框架,它采用了 Protobuf 作為 IDL 你是否有過疑惑,它們都...

    AJie 評論0 收藏0
  • docker進程模型,架構(gòu)分析

    摘要:與容器內(nèi)第一個進程進程看創(chuàng)建了這么多子進程,然后到了我們期待的自己中的進程就要被創(chuàng)建了,想想都有點小激動,然而。。。 Docker架構(gòu)分析 [root@docker-build-86-050 ~]# ls /usr/bin |grep docker docker docker-compose docker-containerd docker-containerd-ctr docker-...

    mingzhong 評論0 收藏0
  • webSocket原理探索

    摘要:幀是發(fā)送數(shù)據(jù)的基本單位,下邊是它的報文格式報文內(nèi)容中規(guī)定了數(shù)據(jù)標示操作代碼掩碼數(shù)據(jù)數(shù)據(jù)長度等格式。首先我們明白了客戶端和服務(wù)端進行消息傳遞是這樣的客戶端將消息切割成多個幀,并發(fā)送給服務(wù)端。服務(wù)端接收消息幀,并將關(guān)聯(lián)的幀重新組裝成完整的消息。 本文概述 Web Sockets的目標是在一個單獨的持久連接上提供全雙工、雙向通信。在Javascript創(chuàng)建了Web Socket之后,會有一個...

    baukh789 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<