最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

.net的socket異步通訊示例分享

 更新時(shí)間:2014年03月20日 15:15:56   作者:  
這篇文章主要介紹了.net的socket異步通訊示例,操作在下面,需要的朋友可以參考下

1、首先添加兩個(gè)windows窗體項(xiàng)目,一個(gè)作為服務(wù)端server,一個(gè)作為客戶端Client

2、然后添加服務(wù)端代碼,添加命名空間,界面上添加TextBox控件

復(fù)制代碼 代碼如下:

using System.Net;
using System.Net.Sockets;

3、FormLoad方法添加代碼

復(fù)制代碼 代碼如下:

private void Form1_Load(object sender, EventArgs e)
        {
            IPEndPoint epServer = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 7878);//IP地址和端口號(hào)
            Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//定義socket
            socket.Bind(epServer);//綁定
            socket.Listen(10);//監(jiān)聽(tīng)
            socket.BeginAccept(new AsyncCallback(RecVing), socket);//異步接收,回調(diào)方法為RecVing
        }

4、添加回調(diào)方法代碼

復(fù)制代碼 代碼如下:

private void RecVing(IAsyncResult rec_socket)
        {
            string cmdstr = "";
            Socket sc = (Socket)rec_socket.AsyncState;
            Socket socket = sc.EndAccept(rec_socket);
            byte[] bytes = new byte[1024];
            int i = socket.Receive(bytes);
            cmdstr = Encoding.UTF8.GetString(bytes, 0, i);
            showstrs(cmdstr);
            sc.BeginAccept(new AsyncCallback(RecVing), sc);
        }

5、添加showstrs方法,

定義委托private delegate void shixudong_invoke(string invokefun);

復(fù)制代碼 代碼如下:

private void showstrs(string recv_strs)
        {
            if (recv_strs.Length != 0)
            {
                if (this.InvokeRequired)
                {
                    shixudong_invoke invoke = new shixudong_invoke(showstrs);
                    this.Invoke(invoke, (object)recv_strs);
                }
                else
                {
                    textBox1.Text = recv_strs;

                }
            }

6、到此為止,服務(wù)端已經(jīng)添加完畢

7,客戶端代碼,首先跟服務(wù)端一樣,添加命名空間,在界面上添加button事件

復(fù)制代碼 代碼如下:

private void button1_Click(object sender, EventArgs e)
        {
            IPEndPoint IPEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 7878);//IP,端口號(hào)
            Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            socket.BeginConnect(IPEndPoint, new AsyncCallback(Sending), socket);//回調(diào)方法Sending
        }

8、添加回調(diào)方法,代碼如下

復(fù)制代碼 代碼如下:

private void Sending(IAsyncResult rec_socket)
        {
            Socket socket = (Socket)rec_socket.AsyncState;
            try
            {
                if (socket.Connected)
                {
                    byte[] msgBuff = Encoding.UTF8.GetBytes(textBox1.Text);
                    socket.Send(msgBuff);
                    //socket.Accept();
                }
                else
                {
                    Console.WriteLine("Error!", "Error!");
                }
            }
            catch
            {
                Console.WriteLine("Error!", "Error!");
            }

9、到此為止,客戶端代碼已經(jīng)完成,調(diào)試的時(shí)候先啟動(dòng)服務(wù)端,然后啟動(dòng)客戶端

10、運(yùn)行截圖如下,點(diǎn)擊按鈕前,在文本框中輸入shixudong

相關(guān)文章

  • LINQ to XML的編程基礎(chǔ)

    LINQ to XML的編程基礎(chǔ)

    本文介紹了LINQ to XML的編程基礎(chǔ),即System.Xml.Linq命名空間中的多個(gè)LINQ to XML類,這些類都是LINQ to XML的支持類,它們使得處理xml比使用其他的xml工具容易得多。在本文中,著重介紹的是XElement、XAttribute和XDocument。
    2010-02-02
  • .net數(shù)據(jù)庫(kù)操作框架SqlSugar的簡(jiǎn)單入門

    .net數(shù)據(jù)庫(kù)操作框架SqlSugar的簡(jiǎn)單入門

    這篇文章主要介紹了.net數(shù)據(jù)庫(kù)操作框架SqlSugar的簡(jiǎn)單入門,幫助大家更好的理解和學(xué)習(xí)使用.net技術(shù),感興趣的朋友可以了解下
    2021-04-04
  • 加密web.config的方法分享

    加密web.config的方法分享

    加密web.config的方法分享,需要的朋友可以參考一下
    2013-03-03
  • .net6?在中標(biāo)麒麟下的安裝和部署過(guò)程

    .net6?在中標(biāo)麒麟下的安裝和部署過(guò)程

    這篇文章主要介紹了.net6?在中標(biāo)麒麟下的安裝部署,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • ASP.NET?MVC使用JCrop上傳并裁剪圖片

    ASP.NET?MVC使用JCrop上傳并裁剪圖片

    這篇文章介紹了ASP.NET?MVC使用JCrop上傳并裁剪圖片的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • 利用asp.net實(shí)現(xiàn)生成不重復(fù)訂單號(hào)

    利用asp.net實(shí)現(xiàn)生成不重復(fù)訂單號(hào)

    訂單號(hào)在購(gòu)物過(guò)程中起到了很好的識(shí)別作用,更方便的有利于工作人員識(shí)別商品,本文介紹利用asp.net實(shí)現(xiàn)生成訂單號(hào)
    2012-12-12
  • C#元組類型ValueTuple用法詳解

    C#元組類型ValueTuple用法詳解

    本文詳細(xì)講解了C#元組類型ValueTuple的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • .NET根據(jù)文件的哈希值篩選重復(fù)文件的實(shí)現(xiàn)思路

    .NET根據(jù)文件的哈希值篩選重復(fù)文件的實(shí)現(xiàn)思路

    文章介紹了文件哈希值的概念,包括哈希算法、唯一性、固定長(zhǎng)度、不可逆性以及其在文件驗(yàn)證、數(shù)據(jù)完整性檢查、文件去重、密碼存儲(chǔ)等領(lǐng)域的應(yīng)用,接著,通過(guò)一個(gè)示例代碼說(shuō)明了如何通過(guò)文件大小分組并比對(duì)哈希值來(lái)篩選出重復(fù)文件,感興趣的朋友一起看看吧
    2025-03-03
  • asp.net FCKeditor自定義非空驗(yàn)證

    asp.net FCKeditor自定義非空驗(yàn)證

    有時(shí)在使用FCK的,需要對(duì)它做非空的驗(yàn)證。以前一直是使用RequiredFieldValidator控件來(lái)完成的。但是會(huì)有一個(gè)小小的bug,在提交的時(shí)候第一次不能通過(guò)驗(yàn)證。
    2009-12-12
  • sealed在C#中的作用說(shuō)明

    sealed在C#中的作用說(shuō)明

    sealed的中文意思是密封,故名思義,就是由它修飾的類或方法將不能被繼承或是重寫。
    2010-10-10

最新評(píng)論

泰兴市| 泰安市| 瑞安市| 漾濞| 河津市| 安丘市| 秦皇岛市| 秦皇岛市| 辉县市| 钟山县| 肥东县| 新野县| 康乐县| 龙口市| 天长市| 夹江县| 平顶山市| 邮箱| 涟水县| 南丹县| 曲麻莱县| 铜陵市| 玉林市| 丹棱县| 疏勒县| 深泽县| 阜平县| 汉寿县| 民权县| 东莞市| 荣成市| 闽清县| 孙吴县| 衡阳市| 青阳县| 南宫市| 尉犁县| 泗水县| 保定市| 普格县| 浙江省|