0
Realmオブジェクトサーバーを使用してスマートフォン間でデータを共有したいと思い、このコードをSwiftで作成しました。 (私はレルムを使用して - > ROSを3.0.2 - >最新)SwiftのRealmオブジェクトサーバーからデータを取得できません
私はそれを試してみましたlet realmAuthURL = URL(string:"http://[server_address]:9080")!
let realmURL = URL(string:"realm://[server_address]:9080/~/realm")!
let credentials = SyncCredentials.usernamePassword(username: "[username]", password: "[password]")
SyncUser.logIn(with: credentials, server: realmAuthURL) { user, error in
DispatchQueue.main.async {
if let user = user {
Realm.Configuration.defaultConfiguration = Realm.Configuration(
syncConfiguration: SyncConfiguration(user: user, realmURL: realmURL),
objectTypes: [PCData.self]
)
print("ログインに成功しました")
self.realm = try! Realm(configuration: Realm.Configuration.defaultConfiguration)
//print(self.realm.objects(PCData.self))
if self.realm.isEmpty {
try! self.realm.write {
let data = PCData()
data.isOut = false
data.pcCode = "***METADATA***"
data.rentPCto = ""
data.IDinCourse = 999999999999
data.belonging = "Master"
self.realm.add(data)
}
}
}
}
}
、 "ログインに成功しました" 出力で、サーバは
アクセスされているように見えたログを持っていますしかしは、
2017-12-17 22:53:30.880875+0900 PCManage[7021:1784833] Sync: Connection[1]: Connection closed due to error
2017-12-17 22:53:31.673562+0900 PCManage[7021:1784833] Sync: Connection[1]: Connected to endpoint '[Server's IP]:9080' (from '[My IP]:57032')
2017-12-17 22:53:31.684189+0900 PCManage[7021:1784833] Sync: Connection[1]: Writing failed: End of input
サーバー内のデータなど を取得することはできません。
proxy: attempting to upgrade client [My IP]:57032 => headers: {"authorization":"Realm-Access-Token version=1 token=\"eyJhY2Nlc3MiOlsiZG93bmxvYWQiLCJ1cGxvYWQiLCJtYW5hZ2UiXSwiYXBwX2lkIjoiY29tLmFrYmFydC5hcHAuUVJ0ZXN0IiwiZXhwaXJlcyI6MTUxMzUxOTQwOCwiaWQiOiIwMzdmY2I5Yzc0MGE0ZjdhOGVhOTZkZmFhYjUxNmM2ZiIsImlkZW50aXR5IjoiZmI0NmQ1ZjNjYjRiNmE5NWExYWYyNDkzZGIxNjE5YzYiLCJwYXRoIjoiL2ZiNDZkNWYzY2I0YjZhOTVhMWFmMjQ5M2RiMTYxOWM2L3JlYWxtIn0=:Tn4Qa4vzvZ87lnW2htmt6rPCaLL5ASDkpqbcXT2eKskQ3NHJ3ePyMxvJjjyAq5rh8pb2syCM1Dh8LrVk9RilQsHwHRU9HyDOky/psePE4UfXidEJGYoML19R9mo+yjHPG7DeP0ykYltTjONJh+OpQkaelHYIMlKAwFP+hxeNWlVAIpjohkqmyr/de3++8IxcVV6/6wJUESdNpDq2e5GGKfxpSwbfhBagNi0m0aSNuwzoqJ5CFqbyoxsyyCZWx6XJ7ZueTmRvGx22SJcthRzxrQRrWMbMtF8yEHY/AARzycO/A/Zi5spXqAzQD6QIrkl5gGI/FwvnLvhvtPEFychXIg==\"","connection":"Upgrade","host":"[]","sec-websocket-key":"K0Tw7zhY3ov9h+VEqHtaPQ==","sec-websocket-protocol":"io.realm.sync.22","sec-websocket-version":"13","upgrade":"websocket"}.}
sync: HTTP Connection[959]: Connection from 127.0.0.1:35414
sync: HTTP Connection[959]: Connection initiates HTTP receipt
sync: HTTP Connection[959]: HTTP request received, url = /realm-sync/%2Ffb46d5f3cb4b6a95a1af2493db1619c6%2Frealm
sync: HTTP Connection[959]: 404 Not Found
sync: HTTP Connection[959]: Connection is closed after HTTP response.
404ない泉は、私は、サーバー側は今奇妙だと思いますが、私は初期設定から変更されていないので、間違った はどうやってデータを取得することができている場合、私は知らない を表示?
ソフトウェアのバージョンを提供する場合は、使用している正確なバージョンを指定してください。 "最新"は、通常誤解を招くだけで、最新のバージョンが使用されていないことを示していることがよくあります。 – bdash