香港6合总彩透码主论坛
 找回密碼
 注冊帳號

掃一掃,訪問微社區

開果 一個簡單 小型的C#Socket網絡通信庫 聊天室示例(六)

54
回復
1908
查看
打印 上一主題 下一主題
[ 復制鏈接 ]

15

主題

25

帖子

218

積分

Rank: 9Rank: 9Rank: 9

UID
327626
好友
6
蠻牛幣
87
威望
0
注冊時間
2019-7-19
在線時間
164 小時
最后登錄
2019-12-1

馬上注冊,結交更多好友,享用更多功能,讓你輕松玩轉社區。

您需要 登錄 才可以下載或查看,沒有帳號?注冊帳號

x
這里就講下GameRoot這個類了,業務邏輯,UI管理,收發消息 都在這里了=。=

先上代碼吧:  emmm這里代碼 某個代碼不給上傳只能發圖了。。可以下載源碼慢慢看







這里還要添加從服務端那邊生成出來的兩個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這個文件  如圖
,然后把它拖進來u3d  
這里打包時候還要注意的是u3d默認環境不支持打包這個dll的所以還要設置  如圖



然后就可以調用這個選擇文件了 效果就是這樣

這里說一下代碼

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

主題

36

帖子

61

積分

Rank: 2Rank: 2

UID
320705
好友
0
蠻牛幣
17
威望
0
注冊時間
2019-4-26
在線時間
25 小時
最后登錄
2019-11-19
地板
2019-8-27 16:52:31 只看該作者
能下載資源嗎
回復

使用道具 舉報

5熟悉之中
726/1000
排名
5516
昨日變化

2

主題

176

帖子

726

積分

Rank: 5Rank: 5

UID
258871
好友
0
蠻牛幣
735
威望
0
注冊時間
2017-12-10
在線時間
290 小時
最后登錄
2020-2-14
5#
2019-8-27 16:52:36 只看該作者
學習學習
回復

使用道具 舉報

3偶爾光臨
218/300
排名
34890
昨日變化

0

主題

61

帖子

218

積分

Rank: 3Rank: 3Rank: 3

UID
247710
好友
0
蠻牛幣
518
威望
0
注冊時間
2017-10-9
在線時間
149 小時
最后登錄
2019-12-24
6#
2019-8-27 18:59:25 只看該作者
回復看看這個結構
回復 支持 反對

使用道具 舉報

5熟悉之中
734/1000
排名
5900
昨日變化

0

主題

73

帖子

734

積分

Rank: 5Rank: 5

UID
100591
好友
0
蠻牛幣
890
威望
0
注冊時間
2015-5-15
在線時間
425 小時
最后登錄
2020-1-12
7#
2019-8-27 19:18:10 只看該作者
學習一下
回復

使用道具 舉報

5熟悉之中
886/1000
排名
4112
昨日變化

1

主題

321

帖子

886

積分

Rank: 5Rank: 5

UID
245227
好友
0
蠻牛幣
1081
威望
0
注冊時間
2017-9-21
在線時間
203 小時
最后登錄
2019-12-24
8#
2019-8-28 09:37:06 只看該作者
所以說直接用Winform做不就好了
回復 支持 反對

使用道具 舉報

3偶爾光臨
157/300
排名
15302
昨日變化

0

主題

13

帖子

157

積分

Rank: 3Rank: 3Rank: 3

UID
289208
好友
0
蠻牛幣
193
威望
0
注冊時間
2018-7-10
在線時間
94 小時
最后登錄
2019-11-19
9#
2019-8-28 09:42:26 只看該作者
回復 支持 反對

使用道具 舉報

6蠻牛粉絲
1187/1500
排名
3425
昨日變化

0

主題

391

帖子

1187

積分

Rank: 6Rank: 6Rank: 6

UID
228584
好友
0
蠻牛幣
1404
威望
0
注冊時間
2017-6-25
在線時間
357 小時
最后登錄
2020-1-7
10#
2019-8-28 16:33:39 只看該作者
看看看看
回復

使用道具 舉報

3偶爾光臨
229/300
排名
21330
昨日變化

0

主題

87

帖子

229

積分

Rank: 3Rank: 3Rank: 3

UID
247413
好友
0
蠻牛幣
3
威望
0
注冊時間
2017-10-7
在線時間
118 小時
最后登錄
2019-12-23
11#
2019-8-29 13:29:13 只看該作者
太厲害了,真的是優秀,很棒
回復 支持 反對

使用道具 舉報

2初來乍到
118/150
排名
28932
昨日變化

0

主題

43

帖子

118

積分

Rank: 2Rank: 2

UID
205309
好友
0
蠻牛幣
0
威望
0
注冊時間
2017-2-6
在線時間
63 小時
最后登錄
2019-12-6
12#
2019-8-29 14:12:42 只看該作者
非常非常好 老厲害了  非常想下載呢
回復 支持 反對

使用道具 舉報

5熟悉之中
568/1000
排名
6444
昨日變化

0

主題

63

帖子

568

積分

Rank: 5Rank: 5

UID
286880
好友
1
蠻牛幣
679
威望
0
注冊時間
2018-6-22
在線時間
295 小時
最后登錄
2020-2-14
13#
2019-8-29 14:38:38 只看該作者
看下分析分析
回復

使用道具 舉報

5熟悉之中
568/1000
排名
6444
昨日變化

0

主題

63

帖子

568

積分

Rank: 5Rank: 5

UID
286880
好友
1
蠻牛幣
679
威望
0
注冊時間
2018-6-22
在線時間
295 小時
最后登錄
2020-2-14
14#
2019-8-29 14:39:49 只看該作者
看下分析分析看下分析分析
回復 支持 反對

使用道具 舉報

2初來乍到
124/150
排名
18294
昨日變化

0

主題

23

帖子

124

積分

Rank: 2Rank: 2

UID
218489
好友
2
蠻牛幣
42
威望
0
注冊時間
2017-4-19
在線時間
67 小時
最后登錄
2019-12-31
15#
2019-8-29 17:48:50 只看該作者
yaokankan
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 注冊帳號

本版積分規則

香港6合总彩透码主论坛
雪缘园足球即时赛果 球探网足球即时指数 工程怎么赚钱魔兽 海南飞鱼彩票开奖结果查询 吉林快3一定牛 天涯中彩票 北京pk10吕新x全方揭秘 福建十一选五 冠通棋牌乐翻二人麻将 2014老版欢乐斗地主