当前位置: 首页>>代码示例>>C#>>正文


C# Socket.EndAccept方法代码示例

本文整理汇总了C#中System.Net.Sockets.Socket.EndAccept方法的典型用法代码示例。如果您正苦于以下问题:C# Socket.EndAccept方法的具体用法?C# Socket.EndAccept怎么用?C# Socket.EndAccept使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Net.Sockets.Socket的用法示例。


在下文中一共展示了Socket.EndAccept方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: 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.EndAccept

示例2: Listen_Callback

public static void Listen_Callback(IAsyncResult ar){
     allDone.Set();
     Socket s = (Socket) ar.AsyncState;
     Socket s2 = s.EndAccept(ar);
     StateObject so2 = new StateObject();
     so2.workSocket = s2;
     s2.BeginReceive(so2.buffer, 0, StateObject.BUFFER_SIZE,0,
                           new AsyncCallback(Async_Send_Receive.Read_Callback), so2);	
}
开发者ID:.NET开发者,项目名称:System.Net.Sockets,代码行数:9,代码来源:Socket.EndAccept


注:本文中的System.Net.Sockets.Socket.EndAccept方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。