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


C# Socket.InternalSetBlocking方法代码示例

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


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

示例1: CreateAcceptSocket

        //
        // CreateAcceptSocket - pulls unmanaged results and assembles them
        //   into a new Socket object
        //
        internal Socket CreateAcceptSocket(IntPtr fd, EndPoint remoteEP) {
            //
            // Internal state of the socket is inherited from listener
            //
            Socket socket           = new Socket(fd);
            socket.addressFamily    = addressFamily;
            socket.socketType       = socketType;
            socket.protocolType     = protocolType;
            socket.m_LocalEndPoint  = m_LocalEndPoint;
            socket.m_RemoteEndPoint = remoteEP;
            //
            // the socket is connected
            //
            socket.SetToConnected();
            //
            // if the socket is returned by an EndAccept(), the socket might have
            // inherited the WSAEventSelect() call from the accepting socket.
            // we need to cancel this otherwise the socket will be in non-blocking
            // mode and we cannot force blocking mode using the ioctlsocket() in
            // Socket.set_Blocking(), since it fails returing 10022 as documented in MSDN.
            // (note that the m_AsyncEvent event will not be created in this case.
            //
            socket.m_BlockEventBits = m_BlockEventBits;
            socket.SetAsyncEventSelect(AsyncEventBits.FdNone);
            //
            // the new socket will inherit the win32 blocking mode from the accepting socket.
            // if the user desired blocking mode is different from the win32 blocking mode
            // we need to force the desired blocking behaviour.
            //
            socket.willBlock = willBlock;
            if (willBlock!=willBlockInternal) {
                socket.InternalSetBlocking(willBlock);
            }

            return socket;
        }
开发者ID:ArildF,项目名称:masters,代码行数:40,代码来源:socket.cs

示例2: UpdateAcceptSocket

        internal Socket UpdateAcceptSocket(Socket socket, EndPoint remoteEP)
        {
            // Internal state of the socket is inherited from listener.
            socket._addressFamily = _addressFamily;
            socket._socketType = _socketType;
            socket._protocolType = _protocolType;
            socket._rightEndPoint = _rightEndPoint;
            socket._remoteEndPoint = remoteEP;

            // The socket is connected.
            socket.SetToConnected();

            // if the socket is returned by an End(), the socket might have
            // inherited the WSAEventSelect() call from the accepting socket.
            // we need to cancel this otherwise the socket will be in non-blocking
            // mode and we cannot force blocking mode using the ioctlsocket() in
            // Socket.set_Blocking(), since it fails returing 10022 as documented in MSDN.
            // (note that the m_AsyncEvent event will not be created in this case.

            socket._willBlock = _willBlock;

            // We need to make sure the Socket is in the right blocking state
            // even if we don't have to call UnsetAsyncEventSelect
            socket.InternalSetBlocking(_willBlock);

            return socket;
        }
开发者ID:ReedKimble,项目名称:corefx,代码行数:27,代码来源:Socket.cs

示例3: UpdateAcceptSocket

 internal Socket UpdateAcceptSocket(Socket socket, EndPoint remoteEP, bool needCancelSelect)
 {
     socket.addressFamily = this.addressFamily;
       socket.socketType = this.socketType;
       socket.protocolType = this.protocolType;
       socket.m_RightEndPoint = this.m_RightEndPoint;
       socket.m_RemoteEndPoint = remoteEP;
       socket.SetToConnected();
       socket.willBlock = this.willBlock;
       if (needCancelSelect)
     socket.UnsetAsyncEventSelect();
       else
     socket.InternalSetBlocking(this.willBlock);
       return socket;
 }
开发者ID:korifey,项目名称:hackathon-Ideaphone,代码行数:15,代码来源:Socket.cs


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