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

程序是怎样跑起来的

程序是怎样跑起来的

[日] 矢泽久雄 / 李逢俊 / 人民邮电出版社 / 2015-4 / 39.00元

本书从计算机的内部结构开始讲起,以图配文的形式详细讲解了二进制、内存、数据压缩、源文件和可执行文件、操作系统和应用程序的关系、汇编语言、硬件控制方法等内容,目的是让读者了解从用户双击程序图标到程序开始运行之间到底发生了什么。同时专设了“如果是你,你会怎样介绍?”专栏,以小学生、老奶奶为对象讲解程序的运行原理,颇为有趣。本书图文并茂,通俗易懂,非常适合计算机爱好者及相关从业人员阅读。一起来看看 《程序是怎样跑起来的》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具