Esempio n. 1
0
 // start accepting
 public void ServerAccept(SockMgr listener, SockMgr.SockMgrAcceptEventHandler acceptCallback = null, object callbackState = null)
 {
     listener.SockMgrAcceptEvent += OnSocketAccept;
     listener.StartAccept(acceptCallback, callbackState);
 }
Esempio n. 2
0
        // return listener if possible; set callback to null if no callback is needed
        public SockMgr BeginBuildTcp(SockFactoryOptions options, SocketRole socketRole, SockMgr.SockMgrConnectEventHandler connectCallback = null, SockMgr.SockMgrAcceptEventHandler acceptCallback = null, object callbackState = null)
        {
            SockMgr listenerMgr = null;

            _sockFactory.SetOptions(options);
            switch (socketRole)
            {
            case SocketRole.Client:
                if (options.TimesToTry > 0)
                {
                    _sockFactory.BuildTcpClient(connectCallback, callbackState);
                }
                break;

            case SocketRole.Listener:
                listenerMgr = _sockFactory.GetTcpListener();
                _sockFactory.ServerAccept(listenerMgr, acceptCallback, callbackState);
                RegisterNewSockMgr(listenerMgr);
                break;
            }
            return(listenerMgr);
        }