Browse Source

Add option to close TCP connection after message

tags/v0.2.0
Russ Garrett 7 years ago
parent
commit
058f0f4eee
No account linked to committer's email address
2 changed files with 8 additions and 2 deletions
  1. 4
    1
      examples/irccat.json
  2. 4
    1
      tcplistener/tcplistener.go

+ 4
- 1
examples/irccat.json View File

@@ -1,5 +1,8 @@
1 1
 {
2
-  "tcp_listen": ":12345",
2
+  "tcp": {
3
+    "listen": ":12345",
4
+    "close_after_message": false
5
+  },
3 6
   "http": {
4 7
     "listen": ":8045",
5 8
     "tls": false,

+ 4
- 1
tcplistener/tcplistener.go View File

@@ -20,7 +20,7 @@ func New() (*TCPListener, error) {
20 20
 	var err error
21 21
 
22 22
 	listener := TCPListener{}
23
-	listener.socket, err = net.Listen("tcp", viper.GetString("tcp_listen"))
23
+	listener.socket, err = net.Listen("tcp", viper.GetString("tcp.listen"))
24 24
 	if err != nil {
25 25
 		return nil, err
26 26
 	}
@@ -57,6 +57,9 @@ func (l *TCPListener) handleConnection(conn net.Conn) {
57 57
 			log.Infof("[%s] message: %s", conn.RemoteAddr(), msg)
58 58
 			l.parseMessage(msg)
59 59
 		}
60
+		if viper.GetBool("tcp.close_after_message") {
61
+			conn.Close()
62
+		}
60 63
 	}
61 64
 }
62 65
 

Loading…
Cancel
Save