找回密码
 注册帐号

扫一扫,访问微社区

开果 一个简单 小型的C#Socket网络通信库 聊天室示例(六)

54
回复
1435
查看
[ 复制链接 ]

15

主题

25

帖子

215

积分

Rank: 9Rank: 9Rank: 9

UID
327626
好友
6
蛮牛币
143
威望
0
注册时间
2019-7-19
在线时间
161 小时
最后登录
2019-11-17
2019-8-27 10:29:42 显示全部楼层 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
这里就讲下GameRoot这个类了,业务逻辑,UI管理,收发消息 都在这里了=。=

先上代码吧:  emmm这里代码 某个代码不给上传只能发图了。。可以下载源码慢慢看


1.png 2.png 3.png 4.png




这里还要添加从服务端那边生成出来的两个dll   KGSocket 这个就是之前通信库的 和ChatNetData 这个是两端共用的 数据类库


一开始 会连接服务器  socketClient.StartCreate("127.0.0.1", 8895); 当然这里得定义好类KGSocketClient<ChatNetSession, ChatDatas> socketClient   ,接着 全部按钮事件和别的事件初始化绑定都在InItClickEvent这里了,
接收服务器消息的事件,处理消息数据
KGSocketClient里面我写了两个   一个是回调函数 OnReciveData(T data) 在自己类调的,还有一个是回调事件Action<T> OnReciveDataEvent 给外部用的,这边图省事直接用事件OnReciveDataEvent 了    socketClient.Client.OnReciveDataEvent += AddNetData;  所以接收消息处理在AddNetData 上 然后AddNetData 接收到会天添加到ChatQue 队列里面 在Updata里每帧判断是否有任务存在里面  如果有就就行出列 在ProcessNetData 进行数据处理   在ProcessNetData 里面会根据接收到的数据先判断有没有错误指令Err再进行判断任务指令CMD进行对应的处理  这里可以看下代码就行了

登录按钮事件
这里会先判断 头像和名字有没有输入如果没有直接返回错误信息 不会发消息给服务器,如果都输入了直接发消息给服务器socketClient.Client.SendData(这里就是自己定义的两端都通用数据类型),CMD必须要填准确。服务器是根据CMD来进行对应的操作的

选择头像图片按钮事件在OpenFile()这里
需要用到 System.Windows.Forms ——Windows 的应用程序的类的OpenFileDialog 这里要using System.Windows.Forms 了   注意的是 u3d里面默认没引用这个dll的需要去u3d文件夹搜索System.Windows.Forms.dll这个文件  如图
5.png ,然后把它拖进来u3d  
这里打包时候还要注意的是u3d默认环境不支持打包这个dll的所以还要设置  如图
6.png


然后就可以调用这个选择文件了 效果就是这样 7.png

这里说一下代码

OpenFileDialog.Filter 就是定义选择文件的类型  我这里就写了两个图片的,你们喜欢可以自行增加 "显示在窗口的名称|*.后缀名|JPG图片|*.jpg" 格式就这样
OpenFileDialog.InitialDirectory 就是定义初始打开文件的位置
if (dialog.ShowDialog() == DialogResult.OK) 判断是否打开完成了 然后dialog.FileName 获取该文件的路径 字符 然后就可以进行转化byte[]数据了 用的拓展工具类的GetPictureBytes


服务器打印事件
在KGSocketClient里面所有打印事件都在KGSocketClient.SetLog  自行添加就好   
[C#] 纯文本查看 复制代码
socketClient.SetLog((v, l) =>
        {
            Debug.Log(v + "Level:" + l);
        });



发送按钮事件
和登录按钮差不多做法的

提醒错误消息的
StartDelayTxt(string info) 都在这了




还有个ChatNetSession类
这里直接继承抽象类KGNetSession<ChatDatas>  就好 没有添加什么 ,服务端那边倒是放了些缓存在里面=  =懒得弄另外的缓存类了








好了整个过程了


工程地址
游客,如果您要查看本帖隐藏内容请回复









回复

使用道具 举报

排名
48141
昨日变化

0

主题

22

帖子

50

积分

Rank: 2Rank: 2

UID
143580
好友
1
蛮牛币
27
威望
0
注册时间
2016-3-27
在线时间
24 小时
最后登录
2019-8-27
2019-8-27 14:32:16 显示全部楼层
回复看看这个结构
回复 支持 反对

使用道具 举报

0

主题

1

帖子

2

积分

Rank: 1

UID
272751
好友
0
蛮牛币
16
威望
0
注册时间
2018-3-16
在线时间
1 小时
最后登录
2019-8-27
2019-8-27 14:35:51 显示全部楼层
学习学习下,挺好的例子
回复 支持 反对

使用道具 举报

0

主题

35

帖子

57

积分

Rank: 2Rank: 2

UID
320705
好友
0
蛮牛币
15
威望
0
注册时间
2019-4-26
在线时间
23 小时
最后登录
2019-10-30
2019-8-27 16:52:31 显示全部楼层
能下载资源吗
回复

使用道具 举报

5熟悉之中
694/1000
排名
5516
昨日变化

2

主题

172

帖子

694

积分

Rank: 5Rank: 5

UID
258871
好友
0
蛮牛币
399
威望
0
注册时间
2017-12-10
在线时间
262 小时
最后登录
2019-11-14
2019-8-27 16:52:36 显示全部楼层
学习学习
回复

使用道具 举报

3偶尔光临
199/300
排名
34890
昨日变化

0

主题

60

帖子

199

积分

Rank: 3Rank: 3Rank: 3

UID
247710
好友
0
蛮牛币
404
威望
0
注册时间
2017-10-9
在线时间
131 小时
最后登录
2019-11-17
2019-8-27 18:59:25 显示全部楼层
回复看看这个结构
回复 支持 反对

使用道具 举报

5熟悉之中
732/1000
排名
5900
昨日变化

0

主题

73

帖子

732

积分

Rank: 5Rank: 5

UID
100591
好友
0
蛮牛币
886
威望
0
注册时间
2015-5-15
在线时间
423 小时
最后登录
2019-11-16
2019-8-27 19:18:10 显示全部楼层
学习一下
回复

使用道具 举报

5熟悉之中
877/1000
排名
4112
昨日变化

1

主题

317

帖子

877

积分

Rank: 5Rank: 5

UID
245227
好友
0
蛮牛币
1070
威望
0
注册时间
2017-9-21
在线时间
199 小时
最后登录
2019-11-15
2019-8-28 09:37:06 显示全部楼层
所以说直接用Winform做不就好了
回复 支持 反对

使用道具 举报

3偶尔光临
156/300
排名
15302
昨日变化

0

主题

13

帖子

156

积分

Rank: 3Rank: 3Rank: 3

UID
289208
好友
0
蛮牛币
192
威望
0
注册时间
2018-7-10
在线时间
93 小时
最后登录
2019-11-14
2019-8-28 09:42:26 显示全部楼层
回复 支持 反对

使用道具 举报

6蛮牛粉丝
1155/1500
排名
3425
昨日变化

0

主题

376

帖子

1155

积分

Rank: 6Rank: 6Rank: 6

UID
228584
好友
0
蛮牛币
1390
威望
0
注册时间
2017-6-25
在线时间
342 小时
最后登录
2019-11-15
2019-8-28 16:33:39 显示全部楼层
看看看看
回复

使用道具 举报

3偶尔光临
226/300
排名
21330
昨日变化

0

主题

87

帖子

226

积分

Rank: 3Rank: 3Rank: 3

UID
247413
好友
0
蛮牛币
1
威望
0
注册时间
2017-10-7
在线时间
115 小时
最后登录
2019-11-13
2019-8-29 13:29:13 显示全部楼层
太厉害了,真的是优秀,很棒
回复 支持 反对

使用道具 举报

2初来乍到
116/150
排名
28932
昨日变化

0

主题

42

帖子

116

积分

Rank: 2Rank: 2

UID
205309
好友
0
蛮牛币
0
威望
0
注册时间
2017-2-6
在线时间
62 小时
最后登录
2019-8-29
2019-8-29 14:12:42 显示全部楼层
非常非常好 老厉害了  非常想下载呢
回复 支持 反对

使用道具 举报

5熟悉之中
542/1000
排名
6444
昨日变化

0

主题

62

帖子

542

积分

Rank: 5Rank: 5

UID
286880
好友
1
蛮牛币
663
威望
0
注册时间
2018-6-22
在线时间
270 小时
最后登录
2019-11-15
2019-8-29 14:38:38 显示全部楼层
看下分析分析
回复

使用道具 举报

5熟悉之中
542/1000
排名
6444
昨日变化

0

主题

62

帖子

542

积分

Rank: 5Rank: 5

UID
286880
好友
1
蛮牛币
663
威望
0
注册时间
2018-6-22
在线时间
270 小时
最后登录
2019-11-15
2019-8-29 14:39:49 显示全部楼层
看下分析分析看下分析分析
回复 支持 反对

使用道具 举报

2初来乍到
120/150
排名
18294
昨日变化

0

主题

23

帖子

120

积分

Rank: 2Rank: 2

UID
218489
好友
2
蛮牛币
25
威望
0
注册时间
2017-4-19
在线时间
63 小时
最后登录
2019-10-15
2019-8-29 17:48:50 显示全部楼层
yaokankan
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则