亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C#實現局域網文件傳輸

2019-11-17 03:35:48
字體:
來源:轉載
供稿:網友

網絡通信一般都是通過Socket進行的,稱為進程通信機制,通常也稱作"套接字",用于描述ip地址和端口,是一個通信鏈的句柄。

先學習一下socket基本原理:

socket原理:
  在Internet上有很多這樣的主機,這些主機一般運行了多個服務軟件,同時提供幾種服務。每種服務都打開一個Socket,并綁定到一個端口上,不同的端口對應于不同的服務。Socket正如其英文原意那樣,象一個多孔插座。一臺主機猶如布滿各種插座的房間,每個插座有一個編號,有的插座提供220伏交流電, 有的提供110伏交流電,有的則提供有線電視節目。 客戶軟件將插頭插到不同編號的插座,就可以得到不同的服務。

 Socket的形像理解:

socket非常類似于電話插座。以一個國家級電話網為例。

電話的通話雙方相當于相互通信的2個進程,區號是它的網絡地址;區內一個單位的交換機相當于一臺主機,主機分配給每個用戶的局內號碼相當于socket號。

任何用戶在通話之前,首先要占有一部電話機,相當于申請一個socket;同時要知道對方的號碼,相當于對方有一個固定的socket。

然后向對方撥號呼叫,相當于發出連接請求(假如對方不在同一區內,還要撥對方區號,相當于給出網絡地址)。

對方假如在場并空閑(相當于通信的另一主機開機且可以接受連接請求),拿起電話話筒,雙方就可以正式通話,相當于連接成功。

雙方通話的過程,是一方向電話機發出信號和對方從電話機接收信號的過程,相當于向socket發送數據和從socket接收數據。

通話結束后,一方掛起電話機相當于關閉socket,撤消連接。

 

Socket 通信應用示圖

 

 

 

TCP/IP 客戶端/服務端通信流程圖

 

 

通過Socket通信原理的認識,下面可以開始寫一個簡單的通信程序,進行驗證。

在這里,做了一個局域網內文件傳輸程序,其實模仿飛鴿傳輸的功能。

在公司里面是禁用QQ,不能使用QQ,有時發現挺麻煩的,傳輸文件不方便,搞得經常要用U盤來拷東西。

為此,我設想寫一個簡單的局域網文件傳輸入工具,暫時解決不能上QQ的痛苦。

發送文件代碼片段:

      
  /// <summary>
        /// 發送文件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        PRivate void btnSentFile_Click(object sender, EventArgs e)
        {
            //打開文件
            OpenFileDialog dlg = new OpenFileDialog();
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                for (int i = 0; i < lvwDisplayUser.SelectedItems.Count; i++)
                {
                    string ip = this.lvwDisplayUser.SelectedItems[i].SubItems[2].Text;

                    //初始化接受套接字:尋址方案,以字符流方式和Tcp通信
                    socketSent = new Socket(AddressFamily.InterNetwork,
                           SocketType.Stream,
                           ProtocolType.Tcp);

                    //設置服務器IP地址和端口
                    ipSent = new IPEndPoint(IPAddress.Parse(ip), 8001);

                    //與服務器進行連接
                    LanSocket socketConnet = new LanSocket(socketSent, ipSent);
                    Thread tConnection = new Thread(new ThreadStart(socketConnet.SocketConnect));
                    tConnection.Start();

                    Thread.Sleep(100);
                    //將要發送的文件加上"DAT"標識符

                    SentLanFile sentFile = new SentLanFile(dlg, socketSent);
                    Thread tSentFile = new Thread(new ThreadStart(sentFile.SentFile));
                    tSentFile.Start();
                }
            }
        }
  
        /// <summary>
        /// 發送文件
        /// </summary>
        public void SentFile()
        {
            string msg = "0DAT " + dlg.FileName;

            //將 "msg" 轉化為字節流的形式進行傳送
            socketSent.Send(Encoding.Default.GetBytes(msg));

            //定義一個讀文件流
            FileStream read = new FileStream(dlg.FileName, FileMode.Open, Fileaccess.Read);

            //設置緩沖區為1024byte
            byte[] buff = new byte[1024];
            int len = 0;
            while ((len = read.Read(buff, 0, 1024)) != 0)
            {
                //按實際的字節總量發送信息
                socketSent.Send(buff, 0, len, SocketFlags.None);
            }

            //將要發送信息的最后加上"END"標識符
            msg = "END";

            //將 "msg" 發送
            socketSent.Send(Encoding.Default.GetBytes(msg));
            socketSent.Close();
            read.Close();
        }

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩福利视频在线观看| 2019中文字幕免费视频| 深夜精品寂寞黄网站在线观看| 久久69精品久久久久久久电影好| 亚洲国产另类久久精品| 成人444kkkk在线观看| 亚洲第一精品夜夜躁人人爽| 国产一区二区三区久久精品| 日韩在线免费av| 热99精品里视频精品| 亚洲欧美在线一区二区| 一区二区欧美久久| 国产剧情日韩欧美| 国产婷婷色综合av蜜臀av| 久久久久久久久久久人体| 国产精品三级久久久久久电影| 亚洲福利在线播放| 日韩免费观看高清| 中文一区二区视频| 亚洲天堂av在线免费观看| 日韩在线播放一区| 亚洲国产成人精品一区二区| 日韩美女福利视频| 亚洲午夜av久久乱码| 亚洲日本aⅴ片在线观看香蕉| 北条麻妃99精品青青久久| 欧美激情精品久久久久久免费印度| 欧美激情在线有限公司| 中日韩美女免费视频网站在线观看| 岛国av在线不卡| 久久成人人人人精品欧| 国产精品黄色av| 亚洲aa中文字幕| 久久99久久亚洲国产| 久久久在线免费观看| 亚洲国产美女精品久久久久∴| 亚洲午夜未满十八勿入免费观看全集| 欧美性猛交xxxx免费看久久久| 国产视频精品xxxx| 在线观看欧美视频| 国产欧美一区二区三区在线| 色婷婷亚洲mv天堂mv在影片| 久久69精品久久久久久久电影好| 精品国偷自产在线视频99| 久久精品成人欧美大片古装| 欧美亚洲成人网| 亚洲精品乱码久久久久久金桔影视| 日韩成人激情影院| 久久精品国产清自在天天线| 91免费高清视频| 日韩久久免费电影| 一本大道久久加勒比香蕉| 欧美一级电影免费在线观看| 91人成网站www| 国产精品久久久| 久久国产加勒比精品无码| 大量国产精品视频| 国产精品稀缺呦系列在线| 欧美在线视频一区| 欧美激情视频一区| 国产精品日韩欧美综合| 国产精品99久久久久久久久久久久| 国产精品羞羞答答| 欧美理论电影在线播放| 国产精品福利网| 国产精品视频午夜| 久久精品夜夜夜夜夜久久| 亚洲精品综合久久中文字幕| 欧美激情中文字幕乱码免费| 97视频色精品| 欧美丰满老妇厨房牲生活| 午夜精品久久久久久久男人的天堂| 亚洲人成在线免费观看| 成人免费网站在线| 欧美在线一区二区视频| 亚洲另类激情图| 精品久久久久久亚洲国产300| 亚洲电影免费观看高清完整版在线| 亚洲视频一区二区三区| 美女国内精品自产拍在线播放| 久久精品精品电影网| 成人免费午夜电影| 成人h视频在线| 欧美性猛交xxxx偷拍洗澡| 欧美性猛交xxxx| 日韩亚洲一区二区| 国产亚洲视频在线观看| 国产精品video| 国产成人亚洲精品| 精品人伦一区二区三区蜜桃网站| 成人乱色短篇合集| 欧美极品美女视频网站在线观看免费| 亚洲 日韩 国产第一| 欧美丰满少妇xxxx| 日韩欧美视频一区二区三区| 成人免费福利在线| 国产精品免费久久久久影院| 热久久视久久精品18亚洲精品| 日韩大片免费观看视频播放| 亚洲欧美三级伦理| 亚洲片国产一区一级在线观看| 亚洲精品在线观看www| 亚洲精品国产suv| 久久频这里精品99香蕉| 国产在线精品一区免费香蕉| 国产精品视频午夜| 福利一区视频在线观看| 国产欧美亚洲视频| 在线观看国产精品淫| 91精品久久久久久久久久久久久久| 国产男女猛烈无遮挡91| 国产在线a不卡| 97碰在线观看| 国产成人免费av电影| 欧美大成色www永久网站婷| 国产精品草莓在线免费观看| 欧美孕妇孕交黑巨大网站| 麻豆国产精品va在线观看不卡| 久久影视电视剧免费网站清宫辞电视| 亚洲一区二区在线播放| 国产精品久久久久久久av大片| 成人午夜两性视频| 自拍偷拍亚洲欧美| 97视频免费观看| 欧美亚洲激情在线| 欧美在线国产精品| 国产剧情久久久久久| 日韩av影院在线观看| 国产综合久久久久| 欧美日韩综合视频| 亚洲电影成人av99爱色| 欧洲亚洲女同hd| 日韩在线观看免费高清| 亚洲直播在线一区| 日韩电影在线观看免费| 亚洲偷欧美偷国内偷| 欧美日韩亚洲一区二区三区| 影音先锋欧美在线资源| 欧美另类极品videosbest最新版本| 中文字幕亚洲在线| 一区二区三区视频免费| 亚洲一级片在线看| 日韩精品免费在线视频观看| 久久久久久久久久久久av| 欧美综合一区第一页| 日韩中文有码在线视频| 欧美亚洲在线播放| 第一福利永久视频精品| 91精品国产自产在线观看永久| 国产精品美女999| 国产精品黄色影片导航在线观看| 欧美性在线视频| 欧美成人亚洲成人| 久久影院模特热| www国产精品视频| 日韩福利伦理影院免费| 国产色婷婷国产综合在线理论片a| 欧美亚洲激情在线| 国产精品香蕉在线观看| 久久久精品日本| 国内精品久久久久影院 日本资源| 精品久久久免费| 最近免费中文字幕视频2019| 国产精品久久久久7777婷婷|