Golangは、Websocket Serverガイドを介してストンプを構築します
WebSocketプロトコルとStompプロトコルの組み合わせは、リアルタイム通信で広く使用されています。この記事では、Golangを使用したStompプロトコルをサポートするWebsocket Serverを構築し、 go-stomp
Libraryの不十分なドキュメントの問題を克服する方法を調べるように導きます。
背景
多くの開発者はgo-stomp
Libraryには十分に開発されたドキュメントと例がないことを発見しました。これは、サーバー側の実装に課題をもたらします。
解決
go-stomp
Libraryのドキュメントが不十分なため、その適用性を調査し、他のソリューションを検討する必要があります。
go-stomp
の評価:go-stomp
Libraryのコードを、例やテストコードなどのWebsocket Server側の実装の兆候については、再確認します。-
代替:
go-stomp
が適用されない場合は、次の代替案を検討してください。- Gorilla WebSocket: Stompを含むメッセージングプロトコルと組み合わせて使用できる人気のあるWebsocketライブラリ。
- Go-Stomplient:クライアントライブラリですが、カスタムWebsocketサーバーと統合できます。
- Centrifugo:成熟したリアルタイムメッセージングサーバーは、StompとWebSocketをネイティブにサポートします。
-
実装のサンプル(Gorilla WebSocketとGo-Stomplientを使用):
次の例は、Gorilla Websocketおよび
go-stomp-client
と組み合わせてシンプルなサーバーを構築する方法を示しています。パッケージメイン 輸入 ( 「FMT」 "ログ" 「net/http」 「github.com/gorilla/websocket」 「github.com/go-stomp/stomp」 )) var upgrader = websocket.upgrade {} func wsendpoint(w http.responsewriter、r *http.request){ conn、err:= upgrader.upgrade(w、r、nil) err!= nil { log.println( "websocketアップグレードエラー:"、err) 戻る } defer conn.close() stompconn、err:= stomp.dial( "tcp"、 "localhost:61613")// err!= nil { log.println( "ストンプ接続エラー:"、err) 戻る } defer stompconn.disconnect() ハンドルwebsocketmessages(conn、stompconn)に行く } func handlewebsocketmessages(wsconn *websocket.conn、stompconn *stomp.conn){ のために { _、msg、err:= wsconn.readmessage() err!= nil { log.println( "websocket読み取りエラー:"、err) 壊す } err = stompconn.send( "/queue/messages"、 ""、msg)// err!= nil { log.println( "stomp send error:"、err) } } } func main(){ http.handlefunc( "/ws"、wsendpoint) log.println( "サーバーリスニング:8080") log.fatal(http.listenandserve( ":8080"、nil)) }
注:この例では、
github.com/gorilla/websocket
websocketおよびgithub.com/go-stomp/stomp
ライブラリのインストールが必要です。ストンプサーバーのアドレスと宛先を実際の構成に置き換えてください。
結論は
go-stomp
Libraryのドキュメントは不十分な場合がありますが、コード分析を通じて他の成熟したGolangライブラリと組み合わせることで、Websocketサーバー上に完全に機能的なストンプを構築することができます。適切なライブラリを選択し、提供されたサンプルコードを参照して、リアルタイムの通信アプリケーションを簡単に有効にします。
以上がGolangを使用して、StompプロトコルをサポートするWebsocketサーバーを構築する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

GitHub是一个面向开源及私有软件项目的托管平台,可以让开发者们在这里托管自己的代码,并进行版本控制。GitHub主打的是开源项目与协作,通过这个平台上的开源项目,开发者们可以查看其他开发者的项目源代码,并进行交流和学习。

在git中,“push -u”的意思是将本地的分支版本上传到远程合并,并且记录push到远程分支的默认值;当添加“-u”参数时,表示下次继续push的这个远端分支的时候推送命令就可以简写成“git push”。

在git中,pack文件可以有效的使用磁盘缓存,并且为常用命令读取最近引用的对象提供访问模式;git会将多个指定的对象打包成一个成为包文件(packfile)的二进制文件,用于节省空间和提高效率。

GitLab是一种基于Web的Git版本控制库管理软件,旨在帮助开发团队更好地协同工作,提高工作效率。当您第一次登录GitLab时,系统会提示您要更改初始密码以确保账户安全。本文将为大家介绍如何在GitLab上进行第一次登录并更改密码。

git中pull失败的解决方法:1、利用“git reset --hard”强制覆盖掉自己的本地修改;2、利用“git stash”推送一个新的储藏,拉取之后利用“git stash pop”将修改保存到暂存区;3、若依然出现问题,则将文件保存到暂存区并提交注释即可。

git分支能改名字。改名方法:1、利用git中的branch命令修改本地分支的名称,语法为“git branch -m 旧名字 新名字”;2、利用“git push origin 新名字”命令,在删除远程分支之后将改名后的本地分支推送到远程;3、利用IDEA直接操作修改分支名称即可。

本篇文章给大家带来了关于git的相关知识,其中主要跟大家聊一聊怎么让你的git记录保持整洁,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。

git删除某个分支的方法:1、利用“git branch --delete dev”命令删除本地分支;2、利用“git push origin --delete branch”命令删除远程分支;3、利用“git branch --delete --remotes”命令删除追踪分支。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

WebStorm Mac版
便利なJavaScript開発ツール

ホットトピック



