ページ内ナビ
概要
StarscreamはSwift向けWebSocket client libraryです。RFC 6455に準拠し、backgroundでのnonblocking処理、TLS/WSS、RFC 7692 compression、text/binary/ping/pongなどのeventをdelegateまたはclosureから扱えます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
WebSocketEventで接続・message・errorを一つのevent streamとして扱う
WebSocketをURLRequestから作成してconnectし、delegateのdidReceiveまたはonEvent closureでconnected、disconnected、text、binary、ping/pong、errorなどを処理できます。socket instanceは接続中に保持する必要があります。
出典:[2]
TLS/WSS・custom header・compression・callback queueを設定する
custom headerやSec-WebSocket-Protocol、timeout、certificate pinner、RFC 7692 compression handlerを設定できます。network processingはbackgroundで行われ、delegate callback queueは用途に合わせて変更できます。
出典:[2]
向いている用途
chat・realtime dashboardなど双方向通信を持つiOS applicationに向く
HTTP request/responseだけでなくserverから継続的にeventを受け取り、text/binary frameを双方向で送受信するclient機能が必要な場合に適します。
出典:[2]
導入前の確認
参考にした公式資料
- [1]daltoniam/Starscream — GitHub repository(2026-10-06)
- [2]Starscream 4.0.8 — README(2026-10-06)
- [3]Starscream 4.0.8 — Package.swift(2026-10-06)
- [4]Starscream 4.0.8 release(2026-10-06)
- [5]Starscream Apache-2.0 license(2026-10-06)
編集部からの補足
chatやrealtime dashboardなど双方向通信が必要なiOS appに向きます。latest releaseと最終pushが2024年のため、現行Swift/Xcode・concurrency・TLS環境で接続試験を行ってから採用してください。
3ステップで試す
- 1
Starscream 4.0.8をSwiftPMで追加する
latest GitHub releaseを固定します。現行Swift/Xcodeとの互換性はCIで確認してください。
.package(url: "https://github.com/daltoniam/Starscream.git", exact: "4.0.8") - 2
WebSocketを作成して接続する
socketを保持した状態でWSS endpointへ接続します。
import Starscream var request = URLRequest(url: URL(string: "wss://example.com/socket")!) request.timeoutInterval = 5 let socket = WebSocket(request: request) socket.connect() - 3
onEventでtext/binary eventを受け取る
WebSocketEventからtext/binaryなど必要なeventを処理します。
socket.onEvent = { event in switch event { case .text(let value): print(value) case .binary(let data): print(data.count) default: break } }
成長
成長の推移 · 直近30日
8,641 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 0
- Open PR
- 26
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- starscream
- swift
- websocket-client
- osx
- websocket
- websockets
- protocol
- Stars
- 8,641
- Forks
- 1,257
- Watchers
- 132
- Open Issues
- 146
- Contributors
- 100
- 所有者種別
- User
- 主要言語
- Swift
- ライセンス
- Apache-2.0
- リポジトリ最終更新
- 2024/05/16
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Nuke8,676 Stars
共通タグ 3件 · 共通カテゴリ 2件 · 同じ言語
remote画像をImagePipelineで取得・処理・cacheし、SwiftUI/UIKitへ表示する
Swift - SwiftUI Introspect6,559 Stars
共通タグ 3件 · 共通カテゴリ 2件 · 同じ言語
SwiftUI viewの背後にあるUIKit/AppKit componentへpublic APIでアクセスする
Swift - DeviceKit4,733 Stars
共通タグ 3件 · 共通カテゴリ 2件 · 同じ言語
UIDeviceをvalue typeで補完し端末model・family・simulator・battery・hardware capabilityを判定する
Swift - Apollo iOS4,037 Stars
共通タグ 3件 · 共通カテゴリ 2件 · 同じ言語
GraphQL schemaから型安全なSwift modelを生成し、query・normalized cacheを扱う
Swift - Flutter179,343 Stars
共通タグ 3件 · 共通カテゴリ 2件
Dartの一つのcodebaseからmobile・web・desktop UIを構築するcross-platform SDK
Dart - React Native126,797 Stars
共通タグ 3件 · 共通カテゴリ 2件
React componentをnative UIへ描画するmobile framework。0.87.1とframework-first導線を整理
C++
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。