Advertisement
Guest User

Untitled

a guest
Jan 16th, 2017
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 0.88 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4.     "bufio"
  5.     "fmt"
  6.     "net"
  7. )
  8.  
  9. type Message struct {
  10.     body string
  11.     id int
  12. }
  13.  
  14. func (m Message) Body() string {
  15.     return m.body
  16. }
  17.  
  18. func (m Message) Id() int {
  19.     return m.id
  20. }
  21.  
  22. func client(msg chan Message, conn net.Conn) error {
  23.     fmt.Print("clinet")
  24.     for {
  25.         m, err := bufio.NewReader(conn).ReadString('\n')
  26.         if err != nil {
  27.             break
  28.         }
  29.         msg <- Message{ m, 0 }
  30.     }
  31.     conn.Close()
  32.     return nil
  33. }
  34.  
  35. func acceptor(msg chan Message) {
  36.     ln, _ := net.Listen("tcp", ":2020")
  37.     for {
  38.         conn, err := ln.Accept()
  39.         if err != nil {
  40.             continue
  41.         }
  42.         go client(msg, conn)
  43.     }
  44. }
  45.  
  46. func msg(msg chan Message) {
  47.     for m := range msg {
  48.         fmt.Print(m.Body())
  49.     }
  50. }
  51.  
  52. func main() {
  53.     msg := make(chan Message, 10)
  54.     acceptor(msg)
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement