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


Golang Proto.EncodeHdr方法代碼示例

本文整理匯總了Golang中utility/base.Proto.EncodeHdr方法的典型用法代碼示例。如果您正苦於以下問題:Golang Proto.EncodeHdr方法的具體用法?Golang Proto.EncodeHdr怎麽用?Golang Proto.EncodeHdr使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在utility/base.Proto的用法示例。


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

示例1: closeSource

func (cu *CUClient) closeSource(clientID uint32, id string) {

	var err error
	proto := new(base.Proto)
	proto.RD.BaseHD.CommandId = base.CLOSE_RESOURCE_CMD
	proto.RD.HD.ClientIdent = clientID
	proto.RD.HD.ContextType = base.CONTEXT_JSON
	proto.RD.HD.TransferType = base.TRANSFER_RAW

	resourceJson := base.CloseResParamJson{id}

	requestJson := base.RequestJson{"", "ns", "close", resourceJson}
	b, err := json.Marshal(requestJson)
	if err != nil {
		cu.handleError(err)
		return
	}

	proto.EncodeBody(b)
	result := proto.EncodeHdr()
	n, err := cu.connSocket.Write(result.Bytes())
	if err != nil {
		cu.handleError(err)
		return
	}
	n = n

	_, bErr := cu.connSocket.Write(proto.BD.Data)
	if err != nil {
		cu.handleError(bErr)
	}
	return
}
開發者ID:youxidev,項目名稱:HLSWebServer,代碼行數:33,代碼來源:vcu.go

示例2: handleWriteSocket

func (chn *Channel) handleWriteSocket(proto *base.Proto) {

	if atomic.CompareAndSwapUint32(&chn.valid, 0, 0) {
		return
	}
	cmdID := proto.RD.BaseHD.CommandId & 0x7f

	if cmdID == base.HEART_CMD {
		heartHdr := new(base.BaseHeader)
		heartHdr.CommandId = proto.RD.BaseHD.CommandId
		msg := heartHdr.Encode()
		_, err := chn.connSocket.Write(msg.Bytes())

		if err != nil {
			chn.handleError(base.DTerror{"Send Error"})
		}
		return
	}
	fmt.Println("handleWriteSocket ", cmdID)
	msg := proto.EncodeHdr()
	_, err := chn.connSocket.Write(msg.Bytes())
	if err != nil {
		chn.handleError(base.DTerror{"Send Error"})

	}
	_, dErr := chn.connSocket.Write(proto.BD.Data)
	if dErr != nil {
		chn.handleError(base.DTerror{"Send Error"})
	}
	base.PutProto(proto)

}
開發者ID:youxidev,項目名稱:HLSWebServer,代碼行數:32,代碼來源:channel.go

示例3: openSource

func (cu *CUClient) openSource(clientID uint32, id string) error {

	proto := new(base.Proto)
	proto.RD.BaseHD.CommandId = base.OPEN_RESOURCE_CMD
	proto.RD.HD.ClientIdent = clientID
	proto.RD.HD.ContextType = base.CONTEXT_JSON
	proto.RD.HD.TransferType = base.TRANSFER_RAW

	resourceJson := base.OpenResParamJson{id, 10}

	requestJson := base.RequestJson{cu.token, "ns", "open", resourceJson}
	b, err := json.Marshal(requestJson)
	if err != nil {
		cu.handleError(err)
		return err
	}

	proto.EncodeBody(b)
	result := proto.EncodeHdr()
	n, err := cu.connSocket.Write(result.Bytes())
	if err != nil {
		cu.handleError(err)
		return err
	}
	n = n

	_, bErr := cu.connSocket.Write(proto.BD.Data)
	if err != nil {
		cu.handleError(bErr)
		return err
	}
	go cu.timerClear()
	return err
}
開發者ID:youxidev,項目名稱:HLSWebServer,代碼行數:34,代碼來源:vcu.go

示例4: handleWriteSocket

func (pu *PUDevice) handleWriteSocket(proto *base.Proto) {

	if atomic.CompareAndSwapUint32(&pu.Valid, 0, 0) {
		return
	}
	cmdID := proto.RD.BaseHD.CommandId & 0x7f

	if cmdID == base.HEART_CMD {
		heartHdr := new(base.BaseHeader)
		heartHdr.CommandId = proto.RD.BaseHD.CommandId
		msg := heartHdr.Encode()
		_, err := pu.connSocket.Write(msg.Bytes())

		if err != nil {
			pu.handleError(base.DTerror{"Send Error " + err.Error()})

		}
		return
	}
	msg := proto.EncodeHdr()
	_, err := pu.connSocket.Write(msg.Bytes())
	if err != nil {
		pu.handleError(base.DTerror{"Send Error " + err.Error()})
		return
	}
	_, dErr := pu.connSocket.Write(proto.BD.Data)
	if dErr != nil {
		pu.handleError(base.DTerror{"Send Error" + err.Error()})
		return
	}

}
開發者ID:youxidev,項目名稱:HLSWebServer,代碼行數:32,代碼來源:vpu.go


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