問題タブ [realm-mobile-platform]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Realm Object Server クライアントを区別する方法はありますか?
オブジェクトにタグを付けて、個々の一意のクライアントに関連付ける必要があります。クライアントを一意に識別するために使用できる Java API のプロパティはありますか?
- IP アドレスが不適切です。たまたま同じアドレスが割り当てられた、異なるプライベート ネットワーク上の複数のクライアントが存在する可能性があります。
SyncUser
動作しません。特定のユーザーは、同時に複数のクライアントからログオンできます。SyncSession
直感的には正しいと感じますが、識別子のプロパティはありません。ObjectServerSession.nativeSessionPointer
おそらく私が探しているものですが、文書化されておらず、いずれにせよアクセスできません。
編集:反映すると、同じニーズが SyncUser のhashCode()
ortoJson()
で満たされる可能性があります。各ユーザーが 1 回だけログインすることを保証できれば。
android - クライアントオブジェクトの所有権を保証するために、同期されたレルムでのオンラインファーストのオブジェクト作成
同期されたデータベース クライアントに (連続した範囲から) 簡潔な整数の主キーを事前に割り当てる必要があります。
使用例は非常に単純です。モバイル クライアントの接続が断続的である状況で、短いシリアル番号が記載されたチケットを印刷する必要があります。番号は、ドアの賞品を授与するために、騒がしい環境で悪いPAシステムで読み取られるのに十分短くなければなりません.
Realm はこのタスクに最適のように思えますが、各クライアントがサーバーに接続されたときに、保証された一意のシリアル番号のプールを事前に割り当てられるようにする必要があります。これにより、後でオフラインの場合でもチケットを印刷できます。
私の意図は、クライアント A がトランザクションを実行してTicketNumber
max(serialNumber)+1 から始まる一連のオブジェクトを作成し、それぞれに独自の clientId を設定することです。TicketNumber
クライアント B がその範囲内のオブジェクトを既に作成している場合、トランザクションの失敗 (ObjectExists のスロー) に依存できることを期待していました。
ただし、作成時にクライアント A またはクライアント B のいずれかが切断された場合、同じ範囲にローカル コピーが作成されます。同期が発生するclientId
と、競合するオブジェクトの が、最後に「作成」されたクライアントに設定されます。両方のクライアントが同じシリアル番号のチケットをすでに印刷している場合、これは明らかに私にとって問題です。
私が見ているように、チケット番号のクライアント所有権を保証するには、オブジェクトの作成を「オンライン ファースト」で行う必要があります。これにより、競合を観察して対応することができます。レルム クライアントの接続状態を知る方法はありますか? 私がやろうとしていることは可能ですか?カウンターが利用可能になるまで待つ必要がありますか?
ios - 複数のビュー間で同期アクティビティを維持するためのベスト プラクティスまたは設計パターンは何ですか?
シナリオ: 共有/同期されたレルム。複数のビューを備えた iOS/Swift アプリ。
バックグラウンドで同期を維持し、複数のビューに自動 (リアルタイム) 更新を提供するために使用する必要があるベスト プラクティスの設計パターンは何ですか?
追加のタスク アプリを見ると、これは理にかなっていますが、アプリには実際にはアクティブなビューが 1 つしかありません。複数のビューがある場合はどうなりますか?
データ変更の Realm 通知を破棄し、ビューごとに再構築する必要がありますか?
realm - レルム オブジェクト サーバーのリソース要件
レルム オブジェクト サーバーを試してみることを検討しています。どのレベルのリソースが必要かについてコメントできる実稼働環境での展開に関する実際の経験を持っている人はいますか? たとえば、AWS にデプロイする場合。
android - RealmObject を Realm に追加せずに List に追加する
RealmList
managedと unmanagedの間に違いがあることは知っていますRealmList
。リストが管理されているかどうかを判断する方法がわかりません。次のようにリストを作成します: 次のよう
myList = new RealmList();
にリストに入力します:
myList.add(item);
RealmList に追加するすべてのアイテムはレルムに追加されますが、アイテムの個人的なライブラリを開発していて、レルムに含める必要があるため、これは必要ありません。ユーザーが自分のライブラリで必要とするアイテムのみ。すべてのアイテムには、他のアイテムを追加する「関連」リストがあります (それらをレルムにも追加します)。RealmList
Realm にも追加せずに、それらを に追加する方法はありますか?
swift - レルム オブジェクト サーバー エラー
前提条件: https に変更する前は、すべてがスムーズに機能していました。
Realm Server に正常にログインした後。
新しいエンティティを作成しようとすると、次のエラーが発生し続けます:
Sync: Connection[1]: WebSocket::read_http_message_line()
Sync: Connection[1]: Websocket: http_line = HTTP/1.1 101 Switching Protocols
Sync: Connection[1]: WebSocket::read_http_message_line()
Sync: Connection[1]: Websocket: http_line = upgrade: websocket
Sync: Connection[1]: WebSocket::read_http_message_line()
Sync: Connection[1]: Websocket: http_line = connection: Upgrade
Sync: Connection[1]: WebSocket::read_http_message_line()
Sync: Connection[1]: Websocket: http_line = sec-websocket-accept: ZoPQVRYX/stlDEtEXDfNdZrkbg8=
Sync: Connection[1]: WebSocket::read_http_message_line()
Sync: Connection[1]: Websocket: http_line = sec-websocket-protocol: io.realm.protocol
Sync: Connection[1]: WebSocket::read_http_message_line()
Sync: Connection[1]: Websocket: http_line =
Sync: Connection[1]: WebSocket::handle_http_response_received()
Sync: Connection[1]: Sending: CLIENT(protocol_version=15, client_info_size=2)
Sync: Connection[1]: WebSocket::frame_reader_loop()
Sync: Connection[1]: stage_init
Sync: Connection[1]: WebSocket: frame_reader.read_size = 2
Sync: Connection[1]: Session[1]: Sending: BIND(server_path='/e50e728d9ed228cac9dfaf9da5e7a265/userRealm', signed_user_token_size=597, need_file_ident_pair=1)
Sync: Connection[1]: handle_write_output_buffer
Sync: Connection[1]: WebSocket::frame_reader_loop()
Sync: Connection[1]: stage_header_beginning
Sync: Connection[1]: WebSocket: frame_reader.read_size = 56
Sync: Connection[1]: WebSocket::frame_reader_loop()
Sync: Connection[1]: stage_payload
Sync: Connection[1]: websocket message received: error 203 39 0 1
Bad user authentication (BIND, REFRESH)
Sync: Connection[1]: message_type = error
Sync: Connection[1]: Received: ERROR(error_code=203, message_size=39, try_again=0, session_ident=1)
Sync: Connection[1]: Connection closed due to error reported by server: Bad user authentication (BIND, REFRESH) (203)
Sync: Connection[1]: Reconnecting in 19655 milliseconds
Sync: Closing Realm file: /Users/pippo/Library/Developer/CoreSimulator/Devices/A04D4CE0-E711-440A-95F3-019360DC9333/data/Containers/Data/Application/C2ECFB54-F28E-472F-A0FB-024039FB1E1A/Documents/realm-object-server/e50e728d9ed228cac9dfaf9da5e7a265/realm%3A%2F%2Fpippo.it%3A9080%2F%7E%2FuserRealm
*** Terminating app due to uncaught exception 'RLMException', reason: 'Cannot set a sync configuration which has an errored-out user.'
httpsを無効にしても、まだ機能しません。関係ありますか??
誰でもエラーについて詳しく説明できますか?
ありがとうございました