c#聊天室发送文件和接受文件 200
选中别人的用户然后发送文件对方会直接接受文件或者需要点确定都是可以的给我相关的代码或者直接给我个可行的程序参考或者直接教我都可以基本框架已经有了就差文件发和收tcpsoc...
选中别人的用户然后发送文件 对方会直接接受文件或者需要点确定都是可以的
给我相关的代码或者直接给我个可行的程序参考
或者直接教我都可以
基本框架已经有了 就差文件发和收
tcp socket 展开
给我相关的代码或者直接给我个可行的程序参考
或者直接教我都可以
基本框架已经有了 就差文件发和收
tcp socket 展开
3个回答
展开全部
首先,要看你的框架是什么类型的, 一般聊天室都是点对点的,也有带中转服务器的。
如果是带中转的,那么可以做成类似QQ离线发送这种功能。 就是文件发送到服务器,然后接收方下载文件。
点对点传输就做成你想要的 接收方需要点击确定按钮进行接收的效果。
无论你是UDP、TCP、Socket, 传输文件都是发送包, 代码非常简单,随便百度一下就一堆。
流程是:
1,发送方选择文件, 读取文件,将Stream转成byte[]类型,
2,通知接收方进行接收, 如果确定,则建立连接。
3.将byte包发送给接收方,
4,接收完成后,将byte[]转成Stream然后存储为文件类型,
基本上system.IO里面有你需要的所有函数。
比如 var stream = new File.Open("c:/发送的文件");
转成byte[]:
public byte[] StreamToBytes(Stream stream)
{
byte[] bytes = new byte[stream.Length];
stream.Read(bytes, 0, bytes.Length);
// 设置当前流的位置为流的开始
stream.Seek(0, SeekOrigin.Begin);
return bytes;
}
如果是带中转的,那么可以做成类似QQ离线发送这种功能。 就是文件发送到服务器,然后接收方下载文件。
点对点传输就做成你想要的 接收方需要点击确定按钮进行接收的效果。
无论你是UDP、TCP、Socket, 传输文件都是发送包, 代码非常简单,随便百度一下就一堆。
流程是:
1,发送方选择文件, 读取文件,将Stream转成byte[]类型,
2,通知接收方进行接收, 如果确定,则建立连接。
3.将byte包发送给接收方,
4,接收完成后,将byte[]转成Stream然后存储为文件类型,
基本上system.IO里面有你需要的所有函数。
比如 var stream = new File.Open("c:/发送的文件");
转成byte[]:
public byte[] StreamToBytes(Stream stream)
{
byte[] bytes = new byte[stream.Length];
stream.Read(bytes, 0, bytes.Length);
// 设置当前流的位置为流的开始
stream.Seek(0, SeekOrigin.Begin);
return bytes;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询