source: code/trunk/server.go@ 2

Last change on this file since 2 was 1, checked in by contact, 5 years ago

Add basic IRC listener

File size: 545 bytes
Line 
1package jounce
2
3import (
4 "fmt"
5 "log"
6 "net"
7
8 "gopkg.in/irc.v3"
9)
10
11func handleConn(conn net.Conn) error {
12 defer conn.Close()
13
14 ircConn := irc.NewConn(conn)
15 for {
16 msg, err := ircConn.ReadMessage()
17 if err != nil {
18 return err
19 }
20
21 log.Println(msg)
22 }
23}
24
25func Serve(ln net.Listener) error {
26 for {
27 conn, err := ln.Accept()
28 if err != nil {
29 return fmt.Errorf("failed to accept connection: %v", err)
30 }
31
32 go func() {
33 if err := handleConn(conn); err != nil {
34 log.Printf("error handling connection: %v", err)
35 }
36 }()
37 }
38}
Note: See TracBrowser for help on using the repository browser.