go 的简单网络框架 kendynet-go

码农软件 · 软件分类 · 网络工具包 · 2019-02-27 14:42:24

软件介绍

kendynet-go 是用 go 语言编写的简单网络框架。

 package main

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


    func send_finish (s interface{},wpk *packet.Wpacket){
        session := s.(*tcpsession.Tcpsession)
        session.Close()
    }

    func process_client(session *tcpsession.Tcpsession,rpk *packet.Rpacket){
        session.Send(packet.NewWpacket(rpk.Buffer(),rpk.IsRaw()),send_finish)
    }

    func session_close(session *tcpsession.Tcpsession){
        fmt.Printf("client disconnect\n")
    }

    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,true)
            fmt.Printf("a client comming\n")
            go tcpsession.ProcessSession(session,process_client,session_close)
        }
    }


本文地址:https://codercto.com/soft/d/251.html

Pro HTML5 Programming

Pro HTML5 Programming

Peter Lubbers、Brian Albers、Frank Salim / Apress / 2010-9-1 / USD 49.99

HTML5 is here, and with it, web applications take on a power, ease, scalability, and responsiveness like never before. In this book, developers will learn how to use the latest cutting-edge HTML5 web ......一起来看看 《Pro HTML5 Programming》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

SHA 加密
SHA 加密

SHA 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具