golangを使用してWebSocketサーバーを作成する方法
golang を使用して WebSocket サーバーを作成する方法
WebSocket は、クライアントとサーバー間の双方向通信を可能にするプロトコルです。これにより、永続的な接続を通じてクライアントとサーバーの間でデータを転送できるようになります。この記事では、golang を使用して簡単な WebSocket サーバーを作成する方法と具体的なコード例を紹介します。
- 準備
始める前に、golang が正しくインストールされていることを確認する必要があります。公式 Web サイトからインストール パッケージをダウンロードし、指示に従ってインストールできます。 - 依存関係のインポート
2 つの依存関係パッケージnet/http
とgithub.com/gorilla/websocket
をインポートする必要があります。net/http
は HTTP サーバーの作成に使用され、gorilla/websocket
は WebSocket 接続の処理に使用されます。
import ( "net/http" "github.com/gorilla/websocket" )
- WebSocket サーバーの作成
http.HandleFunc()
関数を使用して WebSocket 接続リクエストを処理し、websocket.Upgrade() を使用します。
関数は、HTTP プロトコルを WebSocket プロトコルにアップグレードします。
func wsHandler(w http.ResponseWriter, r *http.Request) { upgrader := websocket.Upgrader{ CheckOrigin: func(r *http.Request) bool { return true }, } conn, err := upgrader.Upgrade(w, r, nil) if err != nil { log.Println("Upgrade error:", err) return } // 在这里处理WebSocket连接 }
wsHandler()
関数では、Upgrader
オブジェクトを作成し、CheckOrigin
属性を匿名関数に設定しました。すべてのクロスドメイン要求を受け入れる場合は true を返します。
次に、Upgrade()
関数を使用して、HTTP プロトコルを WebSocket プロトコルにアップグレードします。アップグレードが失敗した場合は、エラー メッセージが出力されて返されます。アップグレードが成功すると、conn
オブジェクトを使用して WebSocket 接続を処理できます。
- WebSocket 接続の処理
WebSocket 接続が確立された後、conn
オブジェクトを使用して読み取りおよび書き込み操作を実行できます。簡単な処理例を次に示します。
for { messageType, message, err := conn.ReadMessage() if err != nil { log.Println("Read error:", err) break } log.Println("received message:", string(message)) err = conn.WriteMessage(messageType, message) if err != nil { log.Println("Write error:", err) break } }
上の例では、ReadMessage()
関数を使用してクライアントから送信されたメッセージを読み取り、WriteMessage ( )
関数はメッセージをクライアントに返します。読み取りまたは書き込み中にエラーが発生した場合は、エラー メッセージを出力し、ループから抜け出します。
- WebSocket サーバーを開始します
最後に、http.HandleFunc()
関数を使用して、wsHandler()
関数をハンドラーとして登録します。 WebSocket 接続を処理し、http.ListenAndServe()
関数を使用して、指定されたポートで WebSocket サーバーを起動します。
func main() { http.HandleFunc("/ws", wsHandler) log.Println("WebSocket server started.") err := http.ListenAndServe(":8080", nil) if err != nil { log.Fatal("ListenAndServe error:", err) } }
上の例では、wsHandler()
関数を「/ws」パスのハンドラーとして登録しました。必要に応じてパスをカスタマイズできます。
- クライアント テスト
WebSocket サーバーの作成が完了したので、WebSocket プロトコルをサポートする任意のクライアントを使用して WebSocket サーバーと通信できるようになります。これは、ブラウザの開発者ツールを使用するか、WebSocket テスト ツールを使用してテストできます。
概要
この記事では、golang を使用して単純な WebSocket サーバーを作成する方法を紹介し、具体的なコード例を示します。 golang を使用して WebSocket サーバーを作成するのは非常に簡単で、簡単に双方向通信を実現できます。この記事が WebSocket の理解と使用に役立つことを願っています。
以上がgolangを使用してWebSocketサーバーを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











インターネット技術の継続的な発展により、リアルタイム通信は日常生活に欠かせないものになりました。 WebSocket テクノロジーを使用すると、効率的で低遅延のリアルタイム通信を実現できます。また、インターネット分野で最も広く使用されている開発言語の 1 つである PHP も、対応する WebSocket サポートを提供します。この記事では、PHP と WebSocket を使用してリアルタイム通信を実現する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は単一の

golangWebSocket と JSON の組み合わせ: データ送信と解析の実現 現代の Web 開発では、リアルタイムのデータ送信がますます重要になっています。 WebSocket は双方向通信を実現するために使用されるプロトコルで、従来の HTTP リクエスト/レスポンス モデルとは異なり、WebSocket を使用すると、サーバーがクライアントにデータをアクティブにプッシュできます。 JSON (JavaScriptObjectNotation) は、簡潔で読みやすいデータ交換用の軽量形式です。

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

インターネット技術の継続的な発展に伴い、リアルタイムビデオストリーミングはインターネット分野における重要なアプリケーションとなっています。リアルタイムのビデオ ストリーミングを実現するための主要なテクノロジには、WebSocket と Java が含まれます。この記事では、WebSocket と Java を使用してリアルタイムのビデオ ストリーミング再生を実装する方法を紹介し、関連するコード例を示します。 1. WebSocket とは WebSocket は、単一の TCP 接続で全二重通信を行うためのプロトコルであり、Web 上で使用されます。

PHP と WebSocket: リアルタイム データ転送のベスト プラクティス方法 はじめに: Web アプリケーション開発では、リアルタイム データ転送は非常に重要な技術要件です。従来の HTTP プロトコルは要求応答モデルのプロトコルであり、リアルタイムのデータ送信を効果的に実現できません。リアルタイム データ送信のニーズを満たすために、WebSocket プロトコルが登場しました。 WebSocket は、単一の TCP 接続上で全二重通信を行う方法を提供する全二重通信プロトコルです。 Hと比べて

Java と WebSocket を使用してリアルタイム株価プッシュを実装する方法 はじめに: インターネットの急速な発展に伴い、リアルタイム株価プッシュは投資家の注目の 1 つとなっています。従来の株式市場のプッシュ方式では、遅延が大きい、更新速度が遅いなどの問題があり、投資家にとって最新の株式市場情報をタイムリーに入手できないことは、投資判断の誤りにつながる可能性があります。 Java と WebSocket に基づくリアルタイムの株価プッシュはこの問題を効果的に解決し、投資家が最新の株価情報をできるだけ早く入手できるようにします。

この記事では、どちらも信頼できるデータ配信方法である Server Sent Events (SSE) と WebSocket を比較します。通信方向、基盤となるプロトコル、セキュリティ、使いやすさ、パフォーマンス、メッセージ構造、使いやすさ、テストツールを含む 8 つの側面で分析します。これらの側面の比較は次のように要約されます。 カテゴリ サーバー送信イベント (SSE) WebSocket の通信方向 単方向 双方向 基礎となるプロトコル HTTP WebSocket プロトコルのセキュリティ HTTP と同じ 既存のセキュリティの脆弱性 使いやすさ セットアップが簡単 セットアップが複雑 パフォーマンスが速い メッセージ送信速度が高い メッセージ処理の影響を受けるおよび接続管理 メッセージ構造 プレーンテキストまたはバイナリ 使いやすさ 広く利用可能 WebSocket の統合に役立つ
