基本信息
源码名称:C# WebSocket 文件传输(非浏览器)
源码大小:111.59M
文件格式:.rar
开发语言:C#
更新时间:2018-05-14
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 2 元 
   源码介绍
这是做的比较认真的一个练习,因为基本上每段都加上了中文注释。
一、设置
服务端:在Server文件夹内,SystemNet_define.cs
设置服务地址,这里设置为:
public static string ServerAddress = "ws://127.0.0.1:9999"; // 服务地址、端口
密钥、套接字分隔符都可自行设置。
客户端:Client文件夹内,SystemNet_define.cs
设置链接地址:
public static string ServerAddress = "ws://127.0.0.1:9999/FServer"; // 服务地址,接口
密钥、分隔符与服务端一致就可以。

套接字只需在服务端随意设置为不同的短语就可以,客户端登录后,会从自行从服务端取得并判断,
所以在判断代码中用不了switch,全部用 if else 了。

因为不会搭建rstp服务,所以在媒体预览上面就用IIS了,将IIS目录指向SERVER_FILES文件夹,
设置Server文件夹内,SystemNet_define.cs文件的套接字:
public string Transport_StreamMedia = "http://127.0.0.1:8081"; // 媒体文件预览地址
为IIS地址、端口就可以了,如IIS为80端口,直接"http://127.0.0.1"

二、传输文件
上传:客户端将文件分割为服务端限定的大小数据包,加上标识,发送到服务端,服务端接收后合并数据包为文件。
下载:与上传相同。
有新文件后,客户端会有新文件提醒,点击顶部刷新可更新当前显示。

分割文件的每个包为一段Base64字符串,并进行压缩,还原文件先解压缩字符串在合并Base64字符串,转为文件,
使用Base64字符串是因为传输byte,图像、媒体文件后打开错误,比如传输byte,生成图像文件是需要指定格式,
才能正确生成,等等。所以Base64最然大了点,但经过压缩后传输还可以。
也可用其它传输方法,有更高的效率,这里只是做练习。可以参考压缩文件内WebSocket-Sharp文件传输例子。

三、运行
根据你的需要修改、编译完毕后,先运行在Server文件夹内File_transferServer.exe
再运行Client文件夹内File_transferClient.exe
用户名:1000~1028,密码:123456

四、包含文件
websocket-sharp-master组件源代码,可在github上下载最新版
SQK_UI组件修改代码,可在http://www.haolizi.net/example/view_14426.html下载demo及说明
VLC的媒体文件DLL库,在Client文件夹内plugins目录

五、没做部分
1、服务端管理界面没做,只是打开运行就可以,可自行写用户管理等;
2、客户端:上传文件限制大小、上传下载数量限制没加上去,规则已经加到数据结构里面了,只是没有判断;
3、发送文件给用户个人部分没做,原理相同懒得写了。
4、会话没做,因为前面做过了,http://www.haolizi.net/example/view_14961.html
其他的都有。

另:注意LinQ语句筛选使用Find或FindALL,使用Where在线程中会出问题,百度查看。

登录时,使用“微软拼音”会出故障,换个输入法

数据库用Access在多用户使用会有问题,可以换其他库,
只是学习过程中的一个练习。 QiaoKe_Song@163.COM