2016-08-07 15 views
1

私はWebSocketをダイヤルして情報を受け取るのを待っているクライアントを書いています。私は正常にwebsocketをダイヤルすることができますが、 "golang.org/x/net/websocket"パッケージを使って何らかの非同期コールバックを実装する方法を理解することはできません。これも可能ですか、Gorillaパッケージを使用する必要がありますか?ゴランのwebsocketでクライアントを書き込む

答えて

1

ゴリラパッケージを使用してのWebSocketを読み込むためのforループを使用します。

for { 
    _, message, err := c.ReadMessage() 
    if err != nil { 
     log.Println("read:", err) 
     c.Close() 
     break 
    } 
    handleMessage(message) 
} 

ランそれは非同期にするゴルーチンのループ:

go func() { 
    for { 
     _, message, err := c.ReadMessage() 
     if err != nil { 
      log.Println("read:", err) 
      c.Close() 
      break 
     } 
     handleMessage(message) 
    } 
}() 
+0

は「golang.org/x/netです/ websocket "はまだゴリラより劣っていますか? –

+0

x/netパッケージは、メッセージの断片化などの一般的な機能を含む完全なプロトコルを実装していません。ゴリラパッケージを使用してください。 –

+0

いいね、ありがとう! –

関連する問題