Improve the code formatting
This commit is contained in:
@@ -265,20 +265,27 @@ Przykładowy zapis instancji obiektu `NoteMessage` wygląda następująco:
|
||||
|
||||
Po tym jak serwer odbierze wysłaną wiadomość, wywoływana jest metoda `session`, która w argumentach przekazuje zakodowane dane, sesję serwera oraz identyfikator użytkownika, który wysłał załączone dane. Po udanym zdekodowaniu danych, wybieramy wszystkich użytkowników, którzy dołączyli do sesji edycji notatki i wysyłamy do nich kopię otrzymanej wiadomości, a serwer dodatkowo wysyła identyczną kopię do warstwy prezentacji.
|
||||
|
||||
```swift
|
||||
|
||||
#let code_session_did_receive_data_server = [```swift
|
||||
func session(_ session: MCSession, didReceive data: Data, fromPeer peerID: MCPeerID) {
|
||||
guard let message = try? JSONDecoder().decode(NoteMessage.self, from: data) else { return }
|
||||
let otherPeers = session.connectedPeers.filter { $0 != peerID }
|
||||
|
||||
let otherPeers = session.connectedPeers.filter { $0 != peerID }
|
||||
if !otherPeers.isEmpty {
|
||||
try? session.send(data, toPeers: otherPeers, with: .reliable)
|
||||
}
|
||||
if !otherPeers.isEmpty {
|
||||
try? session.send(data, toPeers: otherPeers, with: .reliable)
|
||||
}
|
||||
|
||||
DispatchQueue.main.async {
|
||||
self.noteChangesEmitter.send(message)
|
||||
}
|
||||
}
|
||||
```
|
||||
DispatchQueue.main.async {
|
||||
self.noteChangesEmitter.send(message)
|
||||
}
|
||||
}
|
||||
```]
|
||||
|
||||
#figure(
|
||||
code_session_did_receive_data_server,
|
||||
kind: raw,
|
||||
caption: [Implementacja metody session do otrzymywania danych od innych klientów],
|
||||
)
|
||||
|
||||
== Algorytm rozwiązywania konfliktów
|
||||
|
||||
|
||||
Reference in New Issue
Block a user