• 大小: 82KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: 其他
  • 标签: 异步  套接字  Socket  

资源简介

异步套接字的服务器端与客户端,效率高,打开Task Manager测试运行时效率。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.Threading;

namespace AsySocketClient
{
    public partial class Form1 : Form
    {
        #region ...变量...
        /// 
        /// 服务器IP
        /// 

        private IPAddress mIP = IPAddress.Parse(“127.0.0.1“);
        /// 
        /// 服务器信息
        /// 

        private IPEndPoint mServer;
        /// 
        /// 工作套接字
        /// 

        private Socket mWorkSock;
        /// 
        /// 异步连接事件
        /// 

        private static ManualResetEvent connectDone = new ManualResetEvent(false);
        /// 
        /// 异步发送事件
        /// 

        private static ManualResetEvent sendDone = new ManualResetEvent(false);
        /// 
        /// 显示代理
        /// 

        /// 
        /// 
        private delegate void DisplayHandler(RichTextBox rchTxtDisplay string strPara);
        #endregion ...变量...

        #region ...私有方法...
        /// 
        /// 显示字符串
        /// 

        /// 
        /// 
        private void DisplayText(RichTextBox rchTxtDisplay string strPara)
        {
            rchTxtDisplay.Text += strPara + “\r\n“;
        }
        /// 
        /// 异步连接请求的回调方法
        /// 

        /// 
        private void ConnectCallback(IAsyncResult ar)
        {
            try
            {
                //客户端Socket对象
                Socket client = (Socket)ar.AsyncState;
                client.EndConnect(ar);

                //开始接受数据的线程
                StartWork();

                //设置信号,连接成功
                connectDone.Set();
            }
            catch
            {

            }
        }
        /// 
        /// 开始工作
        /// 

        private void StartWork()
        {
            try
            {
                //实例化一个状态对象,用来传递sock
                Stateobject state = new Stateobject();
                state.workSocket = mWorkSock;

                //开始接收数据,接受到的数据保存在状态对象中
                mWorkSock.BeginReceive(state.buffer 0 Stateobject.BufferSize 0 new AsyncCallback(ReceiveCallback) state);
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message);
            }
        }
        /// 
        /// 接受数据的回调方法
        /// 

        /// 
        private void ReceiveCallback(IAsyncResult ar)
        {
            try
            {
                Stateobject state = (Stateobject)ar.AsyncState;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3237  2008-09-06 20:10  AsySocket\AsySocketClient\AsySocketClient\AsySocketClient.csproj

     文件      24576  2008-09-07 21:19  AsySocket\AsySocketClient\AsySocketClient\bin\Debug\AsySocketClient.exe

     文件      30208  2008-09-07 21:19  AsySocket\AsySocketClient\AsySocketClient\bin\Debug\AsySocketClient.pdb

     文件       5632  2005-12-08 14:51  AsySocket\AsySocketClient\AsySocketClient\bin\Debug\AsySocketClient.vshost.exe

     文件       5767  2008-09-07 21:19  AsySocket\AsySocketClient\AsySocketClient\Form1.cs

     文件       4536  2008-09-06 20:10  AsySocket\AsySocketClient\AsySocketClient\Form1.Designer.cs

     文件       5814  2008-09-06 20:10  AsySocket\AsySocketClient\AsySocketClient\Form1.resx

     文件        324  2008-09-07 21:21  AsySocket\AsySocketClient\AsySocketClient\obj\AsySocketClient.csproj.FileList.txt

     文件        842  2008-09-06 20:10  AsySocket\AsySocketClient\AsySocketClient\obj\Debug\AsySocketClient.csproj.GenerateResource.Cache

     文件      24576  2008-09-07 21:19  AsySocket\AsySocketClient\AsySocketClient\obj\Debug\AsySocketClient.exe

     文件        180  2008-09-06 20:10  AsySocket\AsySocketClient\AsySocketClient\obj\Debug\AsySocketClient.Form1.resources

     文件      30208  2008-09-07 21:19  AsySocket\AsySocketClient\AsySocketClient\obj\Debug\AsySocketClient.pdb

     文件        180  2008-09-06 20:10  AsySocket\AsySocketClient\AsySocketClient\obj\Debug\AsySocketClient.Properties.Resources.resources

     文件        474  2008-09-06 20:04  AsySocket\AsySocketClient\AsySocketClient\Program.cs

     文件       1200  2008-09-06 20:04  AsySocket\AsySocketClient\AsySocketClient\Properties\AssemblyInfo.cs

     文件       2884  2008-09-06 20:04  AsySocket\AsySocketClient\AsySocketClient\Properties\Resources.Designer.cs

     文件       5612  2008-09-06 20:04  AsySocket\AsySocketClient\AsySocketClient\Properties\Resources.resx

     文件       1098  2008-09-06 20:04  AsySocket\AsySocketClient\AsySocketClient\Properties\Settings.Designer.cs

     文件        249  2008-09-06 20:04  AsySocket\AsySocketClient\AsySocketClient\Properties\Settings.settings

     文件        934  2008-09-06 20:04  AsySocket\AsySocketClient\AsySocketClient.sln

    ..A..H.     54272  2008-09-07 15:58  AsySocket\AsySocketClient\AsySocketClient.suo

     文件       3237  2008-09-06 20:01  AsySocket\AsySocketServer\AsySocketServer\AsySocketServer.csproj

     文件      24576  2008-09-07 21:53  AsySocket\AsySocketServer\AsySocketServer\bin\Debug\AsySocketServer.exe

     文件      36352  2008-09-07 21:53  AsySocket\AsySocketServer\AsySocketServer\bin\Debug\AsySocketServer.pdb

     文件       5632  2008-09-07 21:06  AsySocket\AsySocketServer\AsySocketServer\bin\Debug\AsySocketServer.vshost.exe

     文件       6228  2008-09-07 21:53  AsySocket\AsySocketServer\AsySocketServer\Form1.cs

     文件       4703  2008-09-06 20:01  AsySocket\AsySocketServer\AsySocketServer\Form1.Designer.cs

     文件       5814  2008-09-06 20:01  AsySocket\AsySocketServer\AsySocketServer\Form1.resx

     文件        324  2008-09-07 21:53  AsySocket\AsySocketServer\AsySocketServer\obj\AsySocketServer.csproj.FileList.txt

     文件        868  2008-09-07 21:06  AsySocket\AsySocketServer\AsySocketServer\obj\AsySocketServer.csproj.FileListAbsolute.txt

............此处省略34个文件信息

评论

共有 条评论