03.12.2015 Views

laravel4cookbook

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Real Time Chat 180<br />

58 $this->emitter->emit("open", [$user]);<br />

59 }<br />

60<br />

61 public function onMessage(<br />

62 ConnectionInterface $socket,<br />

63 $message<br />

64 )<br />

65 {<br />

66 $user = $this->getUserBySocket($socket);<br />

67 $message = json_decode($message);<br />

68<br />

69 switch ($message->type)<br />

70 {<br />

71 case "name":<br />

72 {<br />

73 $user->setName($message->data);<br />

74 $this->emitter->emit("name", [<br />

75 $user,<br />

76 $message->data<br />

77 ]);<br />

78 break;<br />

79 }<br />

80<br />

81 case "message":<br />

82 {<br />

83 $this->emitter->emit("message", [<br />

84 $user,<br />

85 $message->data<br />

86 ]);<br />

87 break;<br />

88 }<br />

89 }<br />

90<br />

91 foreach ($this->users as $next)<br />

92 {<br />

93 if ($next !== $user)<br />

94 {<br />

95 $next->getSocket()->send(json_encode([<br />

96 "user" => [<br />

97 "id" => $user->getId(),<br />

98 "name" => $user->getName()<br />

99 ],

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!