<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      C# WPF 基于Socket的企業聊天軟件IM(源碼)

      兩年前的一個設計,找資料時扒了出來,打開看了一下源碼,那個時候的設計真是無框架無模式的設計,但對像QQ這樣的聊天軟件無疑是一個了解和值得參考的實例,所以大牛繞過,在此跟大家分享一下,希望對正在學習Socket的童鞋們有點幫助,歡迎大家來拍磚,上圖:

       

       

       

      簡介:

       

      1.軟件采用C/S模式,服務器基于.NET控制臺應用程序,客戶端基于.NET WPF,數據庫采用SQL Server

      2.在通信上采用TCP協議進行信息傳遞,以服務器轉發方式通信,用戶注冊及密碼管理基于B/S(ASP.NET)

      3.主要完成了用戶注冊、用戶密碼修改、添加好友、刪除好友;文字信息轉發(支持字體)、抖動窗體、發送圖片(支持GIF,但有嚴重問題)

       

      服務器流程圖:                                            客戶端流程圖:

       

       

      實現:

       

      1.發送文字

      采用服務器轉發方式發送,首先把消息通過相應的協議包裝發送到服務器端,再由服務器端轉發到指定的客戶端,協議如下:

      接收號碼 字體消息頭#Font 字體樣式(包括顏色,大小,樣式等等) 消息內容

      服務器端接收到后按好友號碼查找服務器端用戶列表(如圖服務器工作流程)獲取Socket實例如果此好友在線就將信息發送過去

      接收方接收到信息以后拆分數據,設置字體,顯示消息內容。

      2.發送圖片

      此模式有嚴重的問題,由于工作時間一直沒有對其更新過,如果大家有興趣可以自行修改,最好不要使用服務器轉發模式,而是直接對客戶端建立P2P連接。

      也是采用服務器轉發方式(我知道有過經驗的人看到以此方式發送圖片一定要拍我了),協議如下:

      接收號碼 圖片消息頭#PIC 圖片尺寸

      如何實現在此就不講了,就是一雞肋。

      3.發送拌動窗體

      抖動窗體實現很簡單,按一定規律改變窗體的位置即可,協議如下:

      消息頭 接收號碼

      服務器接收到此消息以后獲取消息頭,查找用戶列表獲取Socket實例,如果此好友在線就將信息發送過去

      接收端接到此消息,即執行窗體抖動操作,代碼如下:

              /// <summary>
              /// 執行抖動窗體
              /// </summary>
              /// <param name="talkWindow"></param>
              public static void ShakeWindow(Win_Talking talkWindow)
              {
                  if (talkWindow.WindowState == WindowState.Minimized)
                  {
                      talkWindow.WindowState = WindowState.Normal;
                  }
                  int shake = 0;
                  double OriginalLeft = talkWindow.Left;
                  double OriginalTop = talkWindow.Top;
                  double newLeftOne = OriginalLeft - 2; double newLeftTwo = OriginalLeft + 2;
                  double newTopOne = OriginalTop - 2; double newTopTwo = OriginalTop + 2;
                  shakePlay.Play();
                  while (shake < 5)
                  {
                      talkWindow.Left = newLeftOne; talkWindow.Top = newTopOne;
                      Thread.Sleep(50);
                      talkWindow.Left = newLeftTwo; talkWindow.Top = newTopTwo;
                      Thread.Sleep(50);
                      shake++;
                  }
                  talkWindow.Left = OriginalLeft;
                  talkWindow.Top = OriginalTop;
              }

       

      效果圖如下:

       

       

      4.添加好友

      協議如下:

      消息頭 要添加好友號碼

      服務器接收到此消息以后,查找號碼如果存在將好友添加至好友列表,并返回給用戶添加成功的消息。

      如果添加自己為好友或者好友已存在 ,則返回失敗信息,如圖:

       

       

      5.刪除好友

      協議方式與添加好友相同,服務器接收到此消息以后會從發送此消息的用戶好友列表中刪除要刪除的號碼,并返回操作消息。

       

      6.注冊和用戶密碼操作

      注冊采用B/S模式,語言采用VB.NET,大家一定很奇怪,因為之前做過一個類似的項目用的是VB.NET語言,比較懶所以就直接拿來用了,怎樣實現在此就不做多闡述,就是很簡單的WEB制作,后面會講到如何配置,直接上圖:

      注冊:

      密碼找回:

       

      如何配置:

       

      源碼當中包括兩個文件夾:Server和Client,注冊網站和數據庫包含在Server文件夾下,目錄結構如下:

      注冊頁面:IM\Server\WebChat

      數據庫:IM\Server\Data

       

      1.數據庫配置

      使用SQL Server 2005以上版本直接附加即可,要保證能通過系統Windows 身份驗證登陸,因為服務器是以這種方式連接數據庫的,數據庫設計的特別爛該拍磚的盡情的拍吧

      2.注冊網站配置

      將webchat添加到IIS管理器,并配置本地IP地址,因為在登陸窗體有一個注冊新號碼,是以服務器IP地址訪問網站的

      數據庫連接在IM\Server\WebChat\App_Code\ConnectionData.vb中修改

      3.客戶端配置

      服務器運行時會顯示所監聽IP的地址,在客戶端有一個IpAddress.xml配置文件,在目錄:

      IM\Client\Client\bin\Debug\Config\IpAddress.xml

      打開以后更改為運行在服務器的IP地址即可。

       

      附:

      點擊下載源碼

      posted @ 2012-06-01 15:53  Daniel.Zhao  閱讀(18210)  評論(50)    收藏  舉報
      主站蜘蛛池模板: 国产一区二区在线影院| 亚洲日本欧洲二区精品 | 国产无套精品一区二区三区 | 精品 日韩 国产 欧美 视频| 国产精品多p对白交换绿帽| 亚洲精品乱码免费精品乱| 久久精品亚洲国产综合色| 小13箩利洗澡无码视频网站| 亚洲国产美女精品久久久| 亚洲AV无码东方伊甸园| 国产午夜91福利一区二区| 婷婷综合久久中文字幕| 亚洲成人av免费一区| 国产女同一区二区在线| 成人无码影片精品久久久| 亚洲国产av无码精品无广告 | 狠狠色噜噜狠狠狠狠色综合久| 人成午夜免费大片| 欧美色丁香| 蜜芽久久人人超碰爱香蕉| 宝鸡市| 亚洲国产亚洲国产路线久久| 国产一卡2卡3卡4卡网站精品| 武清区| 九九热精品免费视频| 久久综合久久美利坚合众国| 国厂精品114福利电影免费| 东京热无码国产精品| 国产人与禽zoz0性伦多活几年| 日韩精品一区二区三区中文无码| 亚洲成人av在线系列| 欧美性猛交xxxx免费看| 亚洲国产精品一区二区视频| 久9re热视频这里只有精品免费| 少妇高潮喷水久久久影院| 国产真实精品久久二三区| 色欲国产精品一区成人精品| AV在线亚洲欧洲日产一区二区| 日本高清成本人视频一区| 国产无套粉嫩白浆在线| 深夜宅男福利免费在线观看 |