1. 程式人生 > >急急如律令!火速搭建一個C#即時通訊系統!(附原始碼分享——高度可移植!)

急急如律令!火速搭建一個C#即時通訊系統!(附原始碼分享——高度可移植!)

 1  void tcpPassiveEngine_MessageReceived(IPEndPoint userAddress, byte[] msg)
 2         {
 3             //取出訊息型別
 4             int msgType = BitConverter.ToInt32(msg, 0);
 5             //驗證訊息型別           
 6             if (msgType == MsgType.Chatting)
 7             {
 8                 ChatMsg chatMsg = MsgHelper.DeserializeMsg<ChatMsg>(msg);
9 this.ShowChatForm(chatMsg.SourceUserID); 10 this.ChatMsgReceived(chatMsg); 11 } 12 } 13 14 /// <summary> 15 /// 顯示聊天窗 16 /// </summary> 17 /// <param name="friendUserID">聊天對方使用者ID</param> 18 private
void ShowChatForm(string friendUserID) 19 { 20 if (this.InvokeRequired) 21 { 22 this.Invoke(new CbGeneric<string>(this.ShowChatForm), friendUserID); 23 } 24 else 25 { 26 ChatForm form = this
.chatFormManager.GetForm(friendUserID); 27 if (form == null) 28 { 29 form = new ChatForm(this.selfID, friendUserID, this, this.tcpPassiveEngine); 30 form.Text = string.Format("與{0}對話中···", friendUserID); 31 this.chatFormManager.Add(form); 32 form.Show(); 33 } 34 form.Focus(); 35 } 36 } 37 38 39 /// <summary> 40 /// 顯示聊天訊息 41 /// </summary> 42 /// <param name="chatMsg"></param> 43 private void ShowChatMsg(ChatMsg chatMsg) 44 { 45 if (this.InvokeRequired) 46 { 47 this.Invoke(new CbGeneric<ChatMsg>(this.formMain_chatMsgReceived), chatMsg); 48 } 49 else 50 { 51 this.richTextBox_display.AppendText(chatMsg.SourceUserID + " " + chatMsg.TimeSent.ToString() + "\r\n"); 52 this.richTextBox_display.AppendText(chatMsg.MsgText + "\r\n"); 53 this.richTextBox_Write.Clear(); 54 } 55 }

相關推薦

急急律令火速搭建一個C#即時通訊系統原始碼分享——高度移植

1 void tcpPassiveEngine_MessageReceived(IPEndPoint userAddress, byte[] msg) 2 { 3 //取出訊息型別 4 int msgType = BitCon

輕量級C#網路通訊元件StriveEngine —— C/S通訊開源demo原始碼

private ITcpServerEngine tcpServerEngine; private void button1_Click(object sender, EventArgs e) { try { //初

快過年了,Python大神給免費分享一個爬取12306火車票例子原始碼

。。。 上面是以前寫的文章的資源,在以前的文章中有對應的資源,有興趣的可以去檢視。 作為一種便捷地收集網上資訊並從中抽取出可用資訊的方式,網路爬蟲技術變得越來越有用。使用Python這樣的簡單程式語言,你可以使用少量程式設計技能就可以爬取複雜的網站。 如果手機上顯示程式碼錯亂,請分

用Python3、NetCore、Shell分別開發一個Ubuntu版的定時提醒NetCore跨平臺兩種釋出方式

新增直接執行py檔案的補充:請在py前面加上:#!/usr/bin/env python3 然後再執行 sudo chmod +x ./task.py 下次執行直接 ./task.py 平時經常用定時提醒來提高工作效率,到了Linux。。。。蒙圈了,以前C#寫的不能跨平臺

C#實現視訊會議系統 GGMeeting原始碼

      前段時間做了個線上教育培訓的專案,與視訊會議比較類似,所以了,我打算像 廣域網即時通訊系統GG(QQ高仿版)一樣,寫一個視訊會議系統並把實現的原理和原始碼都分享出來,讓有興趣的朋友可以參考下。繼承GG的名稱,我把這個視訊會議系統命名為GGMeeting,目前版本為

原理和C++實現的演示程式原始碼

http://blog.csdn.net/mahabharata_/article/details/71856907    大二的時候,曾受老師所託,用C++而不是OpenGL去寫B樣條曲線的教學程式。時隔一年,發現原始碼找不見了,所以重新寫了一遍,也完善了部分功能,順

何用eclipse創建一個c項目

ges 分享 .cn alt 項目 log img 技術 png 如何用eclipse創建一個c項目

搭建一個 c# + selenium + winform + 谷歌瀏覽器 -- 自動化測試環境

搭建一個 c# + selenium + winform + 谷歌瀏覽器 – 自動化測試環境 1、需要環境 Visual Studio 2017 winformapp 測試應用 .net 4.5 windows 10 谷歌瀏覽器 2、wi

搭建一個C#開源快速開發框架(fastCSharp)

初步已經完成搭建的內容主要包括網站開發的一些基礎類庫、一個程式碼生成器模板解析器、一些C#程式碼模板,主要參考平常工作中積累用到的類庫(下載)實現。   雖然.net提供了很多好用的類庫與框架,但是有一些執行效率不夠理想或者是有一些使用不夠方便,大家應該都想有一個快速開發框

何用一月6RMB搭建一個國外服務器

save 系統 conf .cn 但是 6.5 -o 內存 註意 轉載自我的博客:https://blog.ljyngup.com/index.php/archives/151/ 前言 本文將教你如何用一月6RMB的價格搭建一個屬於個人的外國服務器。並且一月500G流量,延

一鍵部署這樣搭建一個文件網站真的很簡單

## 前言 最近筆者在複習 JavaScript 基礎知識,剛看完 《JavaScript 高階程式設計(第四版)》,想再找一些優秀程式碼庫鞏固一下學到的內容,自然而然得就想到了 `Lodash`。 `Lodash` 是一個一致性、模組化、高效能的 JavaScript 實用工具庫。在筆者的公司內使用率頗

搭建一個redis高可用系統

/var/ 文件 orien class star lov 信息 查詢 火墻 一、單個實例 當系統中只有一臺redis運行時,一旦該redis掛了,會導致整個系統無法運行。 單個實例 二、備份 由於單臺redis出現單點故障,就會導致整個系統不可用,所以想到的辦

如何搭建一個視頻直播系統

gpu 基本 圖片 blog 安卓 哪些 現實 簡單的 watermark 2016年後,直播軟件像雨後春筍一樣冒出,直播系統開發的需求也在進一步的增加,用戶也更加追求流暢、完美的直播體驗,這就需要視頻直播系統的開發。那麽視頻直播系統的開發主要都是包含哪些步驟,每一步又都代

基於AschPlatform搭建一個關於音樂版權的平臺準備階段

從去年7月1日關注區塊鏈到現在,從放棄考研到自學node。作為一名建築學的學生,我認為這個選擇是正確的。 對於虛擬貨幣,個人比較看好阿希幣,比原鏈。 -----------------------------------------------------------------------

JAVA小白啟蒙篇:第一個SSM框架搭建示例原始碼下載

  HelloWorld工程原始碼下載 http://download.csdn.net/detail/baidu_31657889/9682606 有償連結(0.1rmb):https://www.fageka.com/Home/Index/sell?id=ctLT7f4

一個C程式辨別系統是64位還是32位

知識儲備: 計算機的位數取決CPU中暫存器的寬度,具體來說就是算術邏輯運算單元(ALU)的寬度,用來表徵計算機的計算能力,ALU一次可以計算最大長度整數即計算機的位數。 在32bit的計算機中,ALU一次可以計算的最大整數為4個位元組。 在64bit的計算機中。ALU一次可以計算的最

###磁碟分割槽:不用格式化只有一個C盤的系統,從C盤新建一個磁碟出來。【找+嘗試各種軟體試了半天xx】差點就重灌系統了。

不用格式化一個C盤的系統,從C盤新建一個磁碟出來。 》百度誤區:好多都說,磁碟分割槽一定會格式化原來的磁碟。差點就信了。多嘗試嘗試。省了很多事呢。 ===》官網下載。http://www.diskgenius.cn/ 》不解壓直接雙擊。按下圖提示來。細心看下,照著提示來。摸索下,注意有個

教你從0到1搭建一個完整的電商app---簡介

最近打算寫一個系列部落格,總結一下在學習慕課網《Kotlin打造完整電商APP 模組化+MVP+主流框架》課程的學習心得。正如課程名字一樣,這個專案使用Kotlin語言編寫,採用了當下一些主流的三方庫,Retrofit、Okhttp、Gson、Dagger2、R

基於sklearn庫,搭建一個簡單的問答系統

第一部分: 在這部分裡,首先需要去讀取給定的檔案,並把檔案裡的內容讀取到list裡面。這部分的任務主要需要檔案IO操作方面的基本知識。 # 讀取檔案 def read_corpus(file): with open(file) as f: list = []

快速搭建一個自己的伺服器詳解java環境

一.   伺服器的購買 1. 我選擇的是阿里雲的伺服器,學生價9.5元一個月,百度直接搜尋阿里雲,然後點選右上角登入,推薦大家用支付寶掃碼登入,方便快捷。阿里雲官網的東西比較多,登入後我找了很久也沒有找到學生伺服器在哪裡賣,最後在諮詢裡找到了這個網址,https://pro