SilverLight搭建WCF聊天室详细过程(十三)发送文件邀请
时间:2010-12-26 来源:fugitiver
上一节为大家讲解了如何发送和接收图片,通过把图片转换成二进制流可以很方便传输和还原,文件传输在下一篇会讲到,这篇文章我主要给大家演示文件传输流程,先看下流程图:
流程图讲解:例如A发送文件邀请到B,会首先调用WCF接口函数fileRequest(),告诉B有文件要发送,B可以做出抉择,如果要接受,返回给A消息,“我要接受”,如果不接受,则返回给A消息,“我不接受”。
看关键代码:
代码 public void fileRequest(string sendUser, string fileName, double size, string id, int type)//文件发送邀请
{
chatForm.LayoutRoot.Width = 500;//设置聊天窗口大小
chatForm.cdContent.Width = new GridLength(gdFileSize);//发送文件列大小
if (type == 0)//如果为发送邀请
{
new fileprompt(fileName, size, id, 0, this);
}
if (type == 1)//如果为同意发送
{
sendFile file = new sendFile(id, this);
sendFileList.Add(file);
fileComplete(id);
}
if (type == 2)//如果为不同意发送
{
chatForm.LayoutRoot.Width = chatForm.LayoutRoot.Width == 400 ? 500 : 400;
chatForm.cdContent.Width = new GridLength(0);
chatForm.spContent.Children.Remove(chatForm.spContent.Children.Where(f => (f as fileprompt).Tag.ToString() == id).First());
}
}
代码讲解,首先做三个判断,如果type为零则为接收文件邀请,生成文件接收提示窗,当用户做出抉择,如果选择为接收时,发送方将调用这个函数,这时type为1,就开始发送文件,接收方也已经准备好接收工作,如果接收方选择取消,发送方调用此函数type为2,则取消发送文件窗口提示。
谢谢大家每次的意见,这次讲解占了大部分,希望对新手入门带来帮助,如果各位朋友觉得有所帮助,希望大家点下推荐,你们的支持才是我更新博客的动力,谢谢大家。
本节代码以及数据库下载
相关阅读 更多 +