2019년 4월 13일 토요일

# Golang 간단한 TCP소켓을 이용한 서버/클라이언트 소스코드

 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
26
27
28
29
30
31
32
33
34
35
36
// simpleServer
package main

import (
 "fmt"
 "net"
)

func main() {
 var serverIp []byte = make([]byte, 4)
 serverIp[0] = 192
 serverIp[1] = 168
 serverIp[2] = 219
 serverIp[3] = 131

 var tcpAddr net.TCPAddr
 tcpAddr.IP = serverIp
 tcpAddr.Port = 8080

 var readBuffer []byte = make([]byte, 256)
 tcpListener, tcpErr := net.ListenTCP("tcp", &tcpAddr)
 defer tcpListener.Close()
 if tcpErr != nil {
  fmt.Printf("%s %s", "TCP Error is : ", tcpErr)
 }

 for {
  conn, conErr := tcpListener.AcceptTCP()
  if conErr != nil {
   fmt.Println(conErr)
  }
  conn.Read(readBuffer)
  fmt.Println(readBuffer)
  conn.Close()
 }
}
 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// simpleClient
package main

import (
 "fmt"
 "net"
)

func main() {
 fmt.Println("SimpleClient~")

 var laddr, raddr net.TCPAddr
 var laddrIp []byte = make([]byte, 4)
 laddrIp[0] = 127
 laddrIp[1] = 0
 laddrIp[2] = 0
 laddrIp[3] = 1
 laddr.IP = laddrIp
 laddr.Port = 2000

 var raddrIp []byte = make([]byte, 4)
 raddrIp[0] = 192
 raddrIp[1] = 168
 raddrIp[2] = 219
 raddrIp[3] = 131
 raddr.IP = raddrIp
 raddr.Port = 8080

 var testWrite []byte = make([]byte, 256)
 testWrite[0] = 11
 testWrite[1] = 22

 tcpConn, conErr := net.DialTCP("tcp", nil, &raddr)
 if conErr != nil {
  fmt.Println(conErr)
 } else {
  tcpConn.Write(testWrite)
  tcpConn.Close()
 }

}

댓글 없음:

댓글 쓰기