golang chatroom
For server
server.go
//server listen
package main
import (
"fmt"
"net"
)
func CheckError(err error) {
if err != nil {
panic(err)
}
}
func ProcessInfo(conn net.Conn) {
buf := make([]byte, 1024)
defer conn.Close()
for {
numOfBytes, err := conn.Read(buf)
if err != nil {
continue
}
if (numOfBytes != 0) {
fmt.Printf("Has received this message :%s\n", string(buf))
}
}
}
func main() {
listen_socket, err := net.Listen("tcp", "127.0.0.1:8111")
CheckError(err)
defer listen_socket.Close()
fmt.Println("Server is waiting...")
for {
conn, err := listen_socket.Accept()
CheckError(err)
go ProcessInfo(conn)
}
}
For Client
//client lister
package main
import (
"fmt"
"net"
)
func CheckError(err error) {
if err != nil {
panic(err)
}
}
func main() {
conn, err := net.Dial("tcp", "127.0.0.1:8111")
CheckError(err)
defer conn.Close()
conn.Write([]byte("hello ,golang world"))
fmt.Println("has sent the message\n")
}
//for client sent hello world