Example #1
0
        //发送文件
        private void btnSendFile_Click(object sender, EventArgs e)
        {
            if (m_tempUserID == -1)
            {
                Print("没有目标用户");
            }
            else
            {
                OpenFileDialog dlgopenFile = new OpenFileDialog();
                dlgopenFile.Title = "选择需要发送的文件";
                DialogResult dr = dlgopenFile.ShowDialog();

                if (dr == DialogResult.OK)
                {
                    if (File.Exists(dlgopenFile.FileName))
                    {
                        int taskId = -1;
                        if (AnyChatCoreSDK.TransFile(m_tempUserID, dlgopenFile.FileName, 1, 0, 0, ref taskId) == 0)
                        {
                            Print("文件" + dlgopenFile.FileName + "发送成功");
                        }
                    }
                }
                dlgopenFile.Dispose();
                dlgopenFile = null;
            }
        }
Example #2
0
        private void Received_TransBuffer(int userId, IntPtr buf, int len, int userValue)
        {
            //过滤信息()
            string m_Command = Marshal.PtrToStringAnsi(buf);

            try
            {
                if (m_Command.Length > 3)
                {
                    string[] m_Packet = m_Command.Split(":".ToCharArray());
                    //选择是否接收文件
                    if (m_Packet[0] == "003" && m_Packet[3] == "file")
                    {
                        int          m_TempUserID = Convert.ToInt32(m_Packet[1]);
                        string       m_pacName    = GetUserNameByID(m_TempUserID);
                        DialogResult r            = MessageBox.Show("文件名:" + m_Packet[2].ToString() + ",是否接收?", m_pacName + "发送文件请求", MessageBoxButtons.YesNo);
                        if (r == System.Windows.Forms.DialogResult.Yes)
                        {
                            FolderBrowserDialog fbd = new FolderBrowserDialog();
                            if (fbd.ShowDialog() == DialogResult.OK)
                            {
                                receivePath = fbd.SelectedPath;
                                string m_Message = "003:" + m_myUserID.ToString() + ":" + "fileisok:";
                                byte[] buffer    = Encoding.Default.GetBytes(m_Message);
                                int    rett      = AnyChatCoreSDK.TransBuffer(m_TempUserID, buffer, buffer.Length);
                            }
                        }
                        else
                        {
                            string m_Message = "003:" + m_myUserID.ToString() + ":" + "fileisno:" + m_Packet[2].ToString();
                            byte[] buffer    = Encoding.Default.GetBytes(m_Message);
                            int    rett      = AnyChatCoreSDK.TransBuffer(m_TempUserID, buffer, buffer.Length);
                        }
                    }
                    //发送文件
                    else if (m_Packet[0] == "003" && m_Packet[2] == "fileisok")
                    {
                        int taskId       = 0;
                        int m_TempUserID = Convert.ToInt32(m_Packet[1]);
                        int flag         = AnyChatCoreSDK.TransFile(m_TempUserID, sendPath, 1, 0, 0, ref taskId);
                        Print("成功发送" + sendPath + "文件");
                    }
                    else if (m_Packet[0] == "003" && m_Packet[2] == "fileisno")
                    {
                        string m_tempName = GetUserNameByID(Convert.ToInt32(m_Packet[1]));
                        Print(m_tempName + "拒绝接收文件" + m_Packet[3].ToString());
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }