當前位置: 首頁>>代碼示例>>C#>>正文


C# Socket.BeginAccept方法代碼示例

本文整理匯總了C#中System.Net.Sockets.Socket.BeginAccept方法的典型用法代碼示例。如果您正苦於以下問題:C# Socket.BeginAccept方法的具體用法?C# Socket.BeginAccept怎麽用?C# Socket.BeginAccept使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在System.Net.Sockets.Socket的用法示例。


在下文中一共展示了Socket.BeginAccept方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: IPEndPoint

IPHostEntry lipa = Dns.Resolve("host.contoso.com");
IPEndPoint lep = new IPEndPoint(lipa.AddressList[0], 11000);

   Socket s = new Socket(lep.Address.AddressFamily,
                               SocketType.Stream,
                                     ProtocolType.Tcp);
   try{
        s.Bind(lep);
        s.Listen(1000);

        while(true){
             allDone.Reset();

             Console.WriteLine("Waiting for a connection...");
             s.BeginAccept(new AsyncCallback(Async_Send_Receive.Listen_Callback), s);

             allDone.WaitOne();
        }
   }
   catch (Exception e){
        Console.WriteLine(e.ToString());
   }
開發者ID:.NET開發者,項目名稱:System.Net.Sockets,代碼行數:22,代碼來源:Socket.BeginAccept

示例2: IPEndPoint

// This server waits for a connection and then uses asynchronous operations to
       // accept the connection with initial data sent from the client.

       // Establish the local endpoint for the socket.
   
       IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
       IPAddress ipAddress = ipHostInfo.AddressList[0];
       IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 11000);
      
       // Create a TCP/IP socket.
       Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp );

       // Bind the socket to the local endpoint, and listen for incoming connections.
       listener.Bind(localEndPoint);
       listener.Listen(100);

       while (true) 
       {
           // Set the event to nonsignaled state.
           allDone.Reset();

           // Start an asynchronous socket to listen for connections and receive data from the client.
           Console.WriteLine("Waiting for a connection...");

           // Accept the connection and receive the first 10 bytes of data.
           int receivedDataSize = 10;
           listener.BeginAccept(receivedDataSize, new AsyncCallback(AcceptReceiveCallback), listener);
            
           // Wait until a connection is made and processed before continuing.
           allDone.WaitOne();
       }
   }

   public static void AcceptReceiveCallback(IAsyncResult ar) 
   {
       // Get the socket that handles the client request.
       Socket listener = (Socket) ar.AsyncState;
       
       // End the operation and display the received data on the console.
       byte[] Buffer;
       int bytesTransferred;
       Socket handler = listener.EndAccept(out Buffer, out bytesTransferred, ar);
       string stringTransferred = Encoding.ASCII.GetString(Buffer, 0, bytesTransferred);

       Console.WriteLine(stringTransferred);
       Console.WriteLine("Size of data transferred is {0}", bytesTransferred);
             
       // Create the state object for the asynchronous receive.
       StateObject state = new StateObject();
       state.workSocket = handler;
       handler.BeginReceive( state.buffer, 0, StateObject.BufferSize, 0,
       new AsyncCallback(ReadCallback), state);
   }
開發者ID:.NET開發者,項目名稱:System.Net.Sockets,代碼行數:53,代碼來源:Socket.BeginAccept

示例3: IPEndPoint

// This server waits for a connection and then uses asynchronous operations to
        // accept the connection with initial data sent from the client.
                   
        // Establish the local endpoint for the socket.
    
        IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
        IPAddress ipAddress = ipHostInfo.AddressList[0];
        IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 11000);

        // Create a TCP/IP socket.
        Socket listener = new Socket(AddressFamily.InterNetwork,
            SocketType.Stream, ProtocolType.Tcp );

        // Bind the socket to the local endpoint, and listen for incoming connections.
        listener.Bind(localEndPoint);
        listener.Listen(100);

        while (true) 
        {
            // Set the event to nonsignaled state.
            allDone.Reset();

            // Start an asynchronous socket to listen for connections and receive data from the client.
            Console.WriteLine("Waiting for a connection...");

            // Accept the connection and receive the first 10 bytes of data. 
            // BeginAccept() creates the accepted socket.
            int receivedDataSize = 10;
            listener.BeginAccept(null, receivedDataSize, new AsyncCallback(AcceptReceiveDataCallback), listener);

            // Wait until a connection is made and processed before continuing.
            allDone.WaitOne();
        }
    }

    public static void AcceptReceiveDataCallback(IAsyncResult ar) 
    {
        // Get the socket that handles the client request.
        Socket listener = (Socket) ar.AsyncState;
        
        // End the operation and display the received data on the console.
        byte[] Buffer;
        int bytesTransferred;
        Socket handler = listener.EndAccept(out Buffer, out bytesTransferred, ar);
        string stringTransferred = Encoding.ASCII.GetString(Buffer, 0, bytesTransferred);

        Console.WriteLine(stringTransferred);
        Console.WriteLine("Size of data transferred is {0}", bytesTransferred);

        // Create the state object for the asynchronous receive.
        StateObject state = new StateObject();
        state.workSocket = handler;
        handler.BeginReceive( state.buffer, 0, StateObject.BufferSize, 0,
        new AsyncCallback(ReadCallback), state);
    }
開發者ID:.NET開發者,項目名稱:System.Net.Sockets,代碼行數:55,代碼來源:Socket.BeginAccept


注:本文中的System.Net.Sockets.Socket.BeginAccept方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。