Initial
This commit is contained in:
19
lib/client.ex
Normal file
19
lib/client.ex
Normal file
@@ -0,0 +1,19 @@
|
||||
defmodule Broadcast.ClientHandler do
|
||||
use Task
|
||||
|
||||
def start(sock) do
|
||||
Task.start_link(__MODULE__, :handle, [sock])
|
||||
end
|
||||
|
||||
def handle(sock) do
|
||||
case :gen_tcp.recv(sock, 0) do
|
||||
{:ok, line} ->
|
||||
Broadcast.Server.broadcast("Someone said: " <> line)
|
||||
handle(sock)
|
||||
|
||||
{:error, _} ->
|
||||
:gen_tcp.close(sock)
|
||||
Broadcast.Server.remove_client()
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user