Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Component close/reconnect behavior using RawSocket

オープン
#1,530 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
python
領域
networking

調査の方向性

Component API の例から始め、rawsocket トランスポートと on_join ハンドラー内の await comp.stop() 呼び出しに注目し、その動作を websocket の例と比較してください。issue ではソースファイルやテストが指定されていないため、まず RawSocket 接続のシャットダウンと再接続のエントリーポイントを特定してください。ユーザーが開始した正常な停止によって自動的な再接続の試行が発生しなければ完了です。

索引モデルが issue の本文から書いたものです。

説明

bug needs-investigation wamp

When using RawSocket on the Component API, and closing the component's session from user code in an orderly fashion, no automatic reconnection attempts should happen.

import asyncio
import time

from autobahn.asyncio import component

# works as expected
transports=dict(
    type='websocket',
    url='ws://127.0.0.1:8080/ws',
)

# doesn't work properly
transports=dict(
    type='rawsocket',
    url='rs://127.0.0.1:8081',
)

comp = component.Component(
    transports=transports,
)

@comp.on_join
async def _(session, details):
    await asyncio.sleep(2)
    await comp.stop()

component.run([comp])

Original issue from OP on forum https://forum.crossbar.io/t/howto-ask-a-component-to-close-cleanly/2077

主要言語
Python
スター
2.5k
フォーク
767
平均マージ
23時間 55分
マージ済み PR(30日)
25

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

crossbario/autobahn-python のほかの issue

crossbario/autobahn-python の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。