    def send(self, buf, flag=0):
        '''
        @brief: 实现tcp的发送
        @param buf: 发送的数据
        @type buf: str
        @param flag: 发送标志
        @param flag: int
        @return: 发送字节数
        @rtype: int
        '''
        tarsLogger.debug('TcpTransceiver:send')
        if not self.isValid():
            return -1

        nbytes = 0
        try:
            nbytes = self.getSock().send(buf, flag)
            tarsLogger.info('tcp send, fd: %d, %s, len: %d',
                            self.getFd(), self.getEndPointInfo(), nbytes)
        except socket.error as msg:
            if msg.errno != errno.EAGAIN:
                tarsLogger.error('tcp send, fd: %d, %s, fail!, %s, close',
                                 self.getFd(), self.getEndPointInfo(), msg)
                self.close()
                return 0
        return nbytes
@brief: 实现tcp的发送
@param buf: 发送的数据
@type buf: str
@param flag: 发送标志
@param flag: int
@return: 发送字节数
@rtype: int
biliup/Danmaku/tars/__trans.py