Ejemplo n.º 1
0
        /// <summary>
        /// Publish one new shared file (only one)
        /// </summary>
        public void PublishSharedFile(CElement Element)
        {
            MemoryStream        buffer             = new MemoryStream();
            CServerPublishFiles ServerPublishFiles = new CServerPublishFiles(buffer, Element);

            //if server supports compression we send it compressed
            if (SupportCompression)
            {
                CCompressedPacket CompressedPacket = new CCompressedPacket(ref buffer);
            }
            if (m_ServerConnection != null)
            {
                m_ServerConnection.SendPacket(buffer);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Send a list of shared files to the server.
        /// </summary>
        public void PublishSharedFiles()
        {
            m_LastPublishedTime = DateTime.Now;
            MemoryStream        buffer             = new MemoryStream();
            CServerPublishFiles ServerPublishFiles = new CServerPublishFiles(buffer, CKernel.FilesList, m_LastFilePublishedIndex);

            m_LastFilePublishedIndex = ServerPublishFiles.LastFilePublished + 1;
            if (m_LastFilePublishedIndex >= CKernel.FilesList.Count - 1)
            {
                m_AllFilesPublished = true;
            }
            //if server supports compression we send it compressed
            if (SupportCompression)
            {
                CCompressedPacket CompressedPacket = new CCompressedPacket(ref buffer);
            }
            if (m_ServerConnection != null)
            {
                m_ServerConnection.SendPacket(buffer);
            }
        }
Ejemplo n.º 3
0
        public void SendPacket(MemoryStream buffer)
        {
            if ((m_Client != null) && (buffer.GetBuffer()[0] == (byte)Protocol.ProtocolType.eMule) && (m_Client.EmuleProtocol) && (buffer.Length > 1400))
            {
                CCompressedPacket CompressedPacket = new CCompressedPacket(ref buffer);
            }
            byte[] packet = new byte[buffer.Length];
            Buffer.BlockCopy(buffer.GetBuffer(), 0, packet, 0, packet.Length);
            stSendingPacket stPacket = new stSendingPacket();

            stPacket.Packet = packet;
            stPacket.Freed  = true;
            if ((m_SendPacketList.Count == 0) && (m_socket.Connected) && (m_SendPacket == null))
            {
                SendPacket(packet, (int)buffer.Length);
            }
            else
            {
                m_SendPacketList.Add(stPacket);
            }
            buffer.Close();
            buffer = null;
        }