Skip to content

PureDu/kendynet-go

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go语言编写的网络库

	package main

	import(
		"net"
		tcpsession "kendynet-go/tcpsession"
		packet "kendynet-go/packet"
		"fmt"
	)

	func main(){
		service := ":8010"
		tcpAddr,err := net.ResolveTCPAddr("tcp4", service)
		if err != nil{
			fmt.Printf("ResolveTCPAddr")
		}
		listener, err := net.ListenTCP("tcp", tcpAddr)
		if err != nil{
			fmt.Printf("ListenTCP")
		}
		for {
			conn, err := listener.Accept()
			if err != nil {
				continue
			}
			session := tcpsession.NewTcpSession(conn)
			fmt.Printf("a client comming\n")
			go tcpsession.ProcessSession(session,packet.NewRawDecoder(),
			   func (session *tcpsession.Tcpsession,rpk packet.Packet,errno error){	
				if rpk == nil{
					fmt.Printf("%s\n",errno)
					session.Close()
					return
				}
				session.Send(rpk)
			   })
		}
	}

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.8%
  • Makefile 0.2%