當前位置: 首頁>>代碼示例>>Golang>>正文


Golang protocols.Server類代碼示例

本文整理匯總了Golang中github.com/antongulenko/RTP/protocols.Server的典型用法代碼示例。如果您正苦於以下問題:Golang Server類的具體用法?Golang Server怎麽用?Golang Server使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Server類的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: ConfigureHeartbeat

func (client *Client) ConfigureHeartbeat(receiver *protocols.Server, token int64, timeout time.Duration) error {
	packet := ConfigureHeartbeatPacket{
		Token:        token,
		TargetServer: receiver.LocalAddr().String(),
		Timeout:      timeout,
	}
	reply, err := client.SendRequest(codeConfigureHeartbeat, packet)
	if err != nil {
		return err
	}
	return client.CheckReply(reply)
}
開發者ID:antongulenko,項目名稱:RTP,代碼行數:12,代碼來源:protocol.go

示例2: RegisterServer

func RegisterServer(server *protocols.Server) (*LoadStats, error) {
	if err := server.Protocol().CheckIncludesFragment(Protocol.Name()); err != nil {
		return nil, err
	}
	stats := &LoadStats{
		server:   server,
		Received: stats.NewStats("Received"),
		Missed:   stats.NewStats("Missed"),
	}
	err := server.RegisterHandlers(protocols.ServerHandlerMap{
		codeLoad: stats.handleLoad,
	})
	if err != nil {
		return nil, err
	}
	return stats, nil
}
開發者ID:antongulenko,項目名稱:RTP,代碼行數:17,代碼來源:server.go

示例3: startLoadClient

func startLoadClient() (port int) {
	port = start_rtp_port
	var server *protocols.Server
	var stats *load.LoadStats
	for {
		var err error
		server, err = protocols.NewServer(net.JoinHostPort(rtp_ip, strconv.Itoa(port)), load.MiniProtocol)
		if err != nil {
			log.Printf("Failed to start Load server on port %v: %v", port, err)
			port += 2
			continue
		}
		stats, err = load.RegisterServer(server)
		if err != nil {
			log.Printf("Failed to register Load server on port %v: %v", port, err)
			port += 2
			continue
		}
		if print_load_packets {
			stats.Handler = func(packet *load.LoadPacket) {
				packet.PrintReceived()
			}
		}
		break
	}
	tasks.AddNamed("client", server)
	go func() {
		for err := range server.Errors() {
			log.Println("Error receiving Load:", err)
		}
	}()
	log.Printf("Listening on %v UDP port %v for Load\n", rtp_ip, port)

	statistics = append(statistics, stats.Received)
	statistics = append(statistics, stats.Missed)
	return
}
開發者ID:antongulenko,項目名稱:RTP,代碼行數:37,代碼來源:main.go

示例4: RegisterServerHandler

func RegisterServerHandler(server *protocols.Server, handler HeartbeatServerHandler) error {
	if err := server.Protocol().CheckIncludesFragment(Protocol.Name()); err != nil {
		return err
	}
	return server.RegisterHandlers(protocols.ServerHandlerMap{
		codeHeartbeat: func(packet *protocols.Packet) *protocols.Packet {
			val := packet.Val
			if beat, ok := val.(*HeartbeatPacket); ok {
				handler.HeartbeatReceived(beat)
			} else {
				server.LogError(fmt.Errorf("Heartbeat received with wrong payload: (%T) %v", val, val))
			}
			return nil
		},
	})
}
開發者ID:antongulenko,項目名稱:RTP,代碼行數:16,代碼來源:server.go

示例5: printServerErrors

func printServerErrors(servername string, server *protocols.Server) {
	for err := range server.Errors() {
		log.Println(servername + " error: " + err.Error())
	}
}
開發者ID:antongulenko,項目名稱:RTP,代碼行數:5,代碼來源:main.go

示例6: printErrors

func printErrors(server *protocols.Server) {
	for err := range server.Errors() {
		log.Println("Server error: " + err.Error())
	}
}
開發者ID:antongulenko,項目名稱:RTP,代碼行數:5,代碼來源:main.go


注:本文中的github.com/antongulenko/RTP/protocols.Server類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。