Guest User

Untitled

a guest
Aug 27th, 2020
284
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "encoding/gob"
  5. "fmt"
  6. "net"
  7. )
  8.  
  9. func server() {
  10. // listen on a port
  11. ln, err := net.Listen("tcp", ":9999")
  12. if err != nil {
  13. fmt.Println(err)
  14. return
  15. }
  16. for {
  17. // accept a connection
  18. c, err := ln.Accept()
  19. if err != nil {
  20. fmt.Println(err)
  21. continue
  22. }
  23. // handle the connection
  24. go handleServerConnection(c)
  25. }
  26. }
  27.  
  28. func handleServerConnection(c net.Conn) {
  29. // receive the message
  30. var msg string
  31. err := gob.NewDecoder(c).Decode(&msg)
  32. if err != nil {
  33. fmt.Println(err)
  34. } else {
  35. fmt.Println("Received", msg)
  36. }
  37. c.Close()
  38. }
  39.  
  40. func client() {
  41. // connect to the server
  42. c, err := net.Dial("tcp", "127.0.0.1:9999")
  43. if err != nil {
  44. fmt.Println(err)
  45. fmt.Println("net dial broke")
  46. return
  47. }
  48. // send the message
  49. msg := "Hello, World"
  50. fmt.Println("Sending", msg)
  51. err = gob.NewEncoder(c).Encode(msg)
  52. if err != nil {
  53. fmt.Println(err)
  54. }
  55. c.Close()
  56. }
  57.  
  58. func main() {
  59. go server()
  60. go client()
  61. var input string
  62. fmt.Scanln(&input)
  63. }
  64.  
Advertisement
Add Comment
Please, Sign In to add comment