blob: 0d7487f53baf8c4a31ac42deea47aac27b85409e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
defmodule Octonetcat.Echo do
@moduledoc """
Echo TCP Socket Server
Started under a task supervisor, lives for the life of the socket,
dies on failure or disconnect.
"""
def serve(socket) do
socket
|> read_line!()
|> write_line!(socket)
serve(socket)
end
def read_line!(socket) do
{:ok, line} = :gen_tcp.recv(socket, 0)
line
end
def write_line!(line, socket) do
:gen_tcp.send(socket, line)
end
end
|