CSkin博客

标题: 【文件传输示例】C# WinForm WebSocket (非浏览器) [打印本页]

作者: qiaoke_song    时间: 2018-5-14 20:51
标题: 【文件传输示例】C# WinForm WebSocket (非浏览器)
说明:
这是做的比较认真的一个练习,因为基本上每段都加上了中文注释。
一、设置
服务端:在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://bbs.cskin.net/thread-4394-1-1.html下载demo及说明
VLC的媒体文件DLL库,在Client文件夹内plugins目录

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

另:注意LinQ语句筛选使用Find或FindALL,使用Where在线程中会出问题。登录时,使用“微软拼音”会出故障,换个输入法
数据库用Access在多用户使用会有问题,可以换其他库,
只是学习过程中的一个练习。
效果图:




源码下载-回复可见:



作者: qq744980696    时间: 2018-5-15 00:03
看看看看看看看看看看
作者: zzusyy    时间: 2018-5-15 07:53
回复下载
作者: zzusyy    时间: 2018-5-15 07:59
你好提取码是多少呀
作者: lightweight    时间: 2018-5-15 09:50
谢谢分享,来看看
作者: 乔克斯    时间: 2018-5-15 13:14
百度网盘没有发提取码,无法下载。
作者: 蛋C饭    时间: 2018-5-15 13:21
看看 看看 看
作者: hukun19930617    时间: 2018-5-15 14:38
学习学习
作者: andy12    时间: 2018-5-15 16:29
借鉴下界面
作者: qqxiongyi    时间: 2018-5-15 16:46
漂亮漂亮
作者: qqxiongyi    时间: 2018-5-15 16:47
好尴尬,没有提取码
作者: qiaoke_song    时间: 2018-5-15 19:10
实在抱歉,一般发网盘都不加提取码,这次忘了,
提取码:potf
作者: yangjd128    时间: 2018-5-15 20:01
看看先,好像很厉害
作者: 违心了    时间: 2018-5-16 10:07
沙发 沙发  沙发  沙发 沙发
作者: lwbaiyun    时间: 2018-5-16 12:06
好美的界面呀

作者: 北倾    时间: 2018-5-16 14:43
感谢分享!

作者: Dousong    时间: 2018-5-16 14:56
界面好漂亮,给个赞
作者: hello_js    时间: 2018-5-16 16:41
看着不错,下载看看
作者: mqzzzz    时间: 2018-5-17 14:03
似懂非懂的方式
作者: httpxml    时间: 2018-5-17 16:23
看源码好奇很好奇
作者: 策北与麋    时间: 2018-5-17 17:55
想要学习一下,谢谢楼主
作者: 就是爱你Li    时间: 2018-5-18 09:45
漂亮漂亮
作者: xuss11    时间: 2018-5-18 10:18
谢谢分享
作者: 飞雪唉    时间: 2018-5-18 10:19
界面好美观
作者: 馒头    时间: 2018-5-18 10:41
太漂亮了
作者: alanyunfeng1140    时间: 2018-5-18 10:51
谢谢楼主分享
作者: lbr1982    时间: 2018-5-18 12:13
漂亮漂亮
作者: mkq229    时间: 2018-5-18 14:23
看看看看看看看看看看
作者: asdmilk9420    时间: 2018-5-18 16:26
谢谢分享,来看看
作者: zakailynn    时间: 2018-5-18 16:50
嘿嘿,我看看。。。。。。。。。。
作者: beiqibing    时间: 2018-5-18 17:08
看看看看看看看看看看
作者: dale58    时间: 2018-5-18 17:18
看看看看看看看看看看看看
作者: 戈壁滩的杨树    时间: 2018-5-20 10:53
希望能够帮助我开发最近一个winform项目
作者: stevenLee    时间: 2018-5-20 12:11
下载下来,能不能看呀
作者: Neo_1024    时间: 2018-5-20 15:58
借鉴借鉴
作者: Zcw_C#    时间: 2018-5-21 00:23
看看看看看看看看看看
作者: 蜗牛弟弟    时间: 2018-5-21 07:34
看看看看看你
作者: zgcwkj    时间: 2018-5-21 11:02
好奇看看
作者: hututu    时间: 2018-5-21 11:24
看看看看看看看看看看
作者: 阿呆    时间: 2018-5-21 16:31
能看代码 ?
作者: dyehack    时间: 2018-5-21 16:36
看一看好不好用
作者: 上氏神安    时间: 2018-5-21 17:20
好东西谢谢分享
作者: hewentao84    时间: 2018-5-21 17:49
学习学习!!
作者: tiejiangjun    时间: 2018-5-22 10:51
参观一下
作者: Rooco    时间: 2018-5-22 14:31
谢谢分享
作者: 论坛新人    时间: 2018-5-22 15:27
是不是用websocket实现的
作者: bbccdd    时间: 2018-5-23 12:20
界面做的真漂亮,真心的漂亮啊。
作者: ganyuansong    时间: 2018-5-23 14:53
C# WinForm WebSocket (非浏览器) ,学习
作者: Utopia    时间: 2018-5-23 16:50
赞一个!!!!~!~!~!~!
作者: ztyn    时间: 2018-5-24 17:57
楼主正需要呢
作者: 大壮他哥。    时间: 2018-5-24 22:43
C# WinForm WebSocket (非浏览器)
作者: hp874a6    时间: 2018-5-25 12:25
好的,学习学习
作者: M188    时间: 2018-5-25 17:15
文件传输示例】C# WinForm WebSocket
作者: yaphone    时间: 2018-5-25 19:48
谢谢!!!
作者: wanyuana    时间: 2018-5-25 23:13
回复下载
作者: dongfei520    时间: 2018-5-26 16:31
感觉还不错了  谢谢

作者: 独舞沧澜    时间: 2018-5-26 16:40
学习,这界面蛮好看的
作者: test123321    时间: 2018-5-28 14:22
不错 看看
作者: 纯洁边缘人    时间: 2018-5-28 15:13

看看看看看看看看看看
作者: 13466373935    时间: 2018-5-28 21:58
看看阿卡哪款
作者: lseva    时间: 2018-5-29 11:51
看看看看看看看看看看
作者: lseva    时间: 2018-5-29 11:51
看看看看看看看看看看
作者: 职业打杂甲    时间: 2018-5-29 14:01
biubiubiubiubiu
作者: wisejohn    时间: 2018-5-29 23:52
新手报到,学习一下,谢谢
作者: bin04    时间: 2018-5-30 09:25
看看看看看看看看
作者: tangbuchi    时间: 2018-5-31 11:46
12111ggggggggg
作者: lc123123    时间: 2018-5-31 14:58
感谢,很想学习学习
作者: zahir2018    时间: 2018-5-31 15:21
学习学习
作者: vanao    时间: 2018-5-31 16:03
222233eeeeee
作者: rzzsss    时间: 2018-5-31 16:43
可以的。看看东西
作者: oldmyth    时间: 2018-5-31 22:33
正要找一个这样的界面
作者: 文若    时间: 2018-5-31 22:43
红红火火恍恍惚惚
作者: 叶落轻风雨    时间: 2018-6-1 14:41
看看  界面感觉不错
作者: 307852990    时间: 2018-6-1 15:45
学习xuexi xuexi
作者: 不同的世界    时间: 2018-6-1 21:13
谢谢分享 研究一下
作者: yw3579293    时间: 2018-6-1 22:44
看着好舒服给力
作者: MIMU86    时间: 2018-6-2 10:15
学习下
作者: 970088755    时间: 2018-6-3 17:44
0.0

作者: kk1689    时间: 2018-6-4 03:18
很好!我先借鉴一下
作者: kk1689    时间: 2018-6-4 03:19
很好!我先借鉴一下
作者: 胤凌郁枫    时间: 2018-6-4 14:27
+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1
作者: 胤凌郁枫    时间: 2018-6-4 14:28
+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1
作者: zxyily38    时间: 2018-6-4 16:52
看看看看看看看看看看
作者: Mr.moon    时间: 2018-6-4 22:52
好漂亮的界面
作者: wxdtk    时间: 2018-6-4 23:29
好漂亮的界面
作者: xieris    时间: 2018-6-5 08:44
谢谢分享
作者: z1306946265    时间: 2018-6-5 15:23
谢谢分享!!!
作者: sd831246    时间: 2018-6-5 16:16
学习界面。。。。漂亮
作者: bob76012    时间: 2018-6-6 23:57
介面很漂亮
作者: 18811381053    时间: 2018-6-7 10:00
想看‘’
作者: 18811381053    时间: 2018-6-7 10:01
想看,想看
作者: 是什么使人懒惰    时间: 2018-6-7 10:34
66666,需要看看
作者: league2018    时间: 2018-6-7 11:06
做的非常棒,学习
作者: league2018    时间: 2018-6-7 11:07
谢谢,学习一下。
作者: cqtxiaobai    时间: 2018-6-7 11:38
看看,效果很好啊,很好哈哈
作者: 小小菜鸟    时间: 2018-6-7 12:35
感谢分享。。
作者: love05160104    时间: 2018-6-7 13:04
下载试试
作者: abweixx    时间: 2018-6-7 16:43
很不错,可以借鉴学习下
作者: abweixx    时间: 2018-6-7 16:43
很不错,可以借鉴学习下。C# WinForm WebSocket 文件传输示例(非浏览器)
作者: ynq1366    时间: 2018-6-8 09:31
大佬大佬




欢迎光临 CSkin博客 (http://bbs.cskin.net/) Powered by Discuz! X3.2