コード例 #1
0
        private void TcpSock_OnClientConnect(BaseServerSocket sender, Socket s)
        {
            var client = new InternalSyncIOConnectedClient(s, _packager);

            client.SetID(_guidGenerator());
            client.BeginReceve(ReceveHandler);
            client.Send(cl =>
            {
                Clients.Add(cl);
                client.OnDisconnect += (c, err) => Clients.Remove(c);

                OnClientConnect?.Invoke(this, cl);//Trigger event after handshake packet has been sent.
            }, new HandshakePacket(client.ID, true));
        }
コード例 #2
0
        public SyncIOClient(TransportProtocol protocol, Packager packager)
        {
            Protocol         = protocol;
            _packager        = packager;
            _callbacks       = new CallbackManager <SyncIOClient>();
            _remoteFunctions = new RemoteFunctionManager();

            _callbacks.SetHandler <HandshakePacket>((c, p) =>
            {
                _handshakeComplete = p.Success;
                _connection.SetID(p.Id);
                _handshakeEvent?.Set();
                _handshakeEvent?.Dispose();
                _handshakeEvent = null;
                OnHandshake?.Invoke(this, ID, _handshakeComplete);
                _callbacks.RemoveHandler <HandshakePacket>();
            });

            _callbacks.SetHandler <RemoteCallResponse>((c, p) => _remoteFunctions.RaiseFunction(p));
        }
コード例 #3
0
ファイル: SyncIOClient.cs プロジェクト: sensi17/SyncIO
        public SyncIOClient(TransportProtocal _protocal, Packager _packager)
        {
            Protocal        = _protocal;
            Packager        = _packager;
            Callbacks       = new CallbackManager <SyncIOClient>();
            RemoteFunctions = new RemoteFunctionManager();

            Callbacks.SetHandler <HandshakePacket>((c, p) => {
                HandshakeComplete = p.Success;
                Connection.SetID(p.ID);
                HandshakeEvent?.Set();
                HandshakeEvent?.Dispose();
                HandshakeEvent = null;
                OnHandshake?.Invoke(this, ID, HandshakeComplete);
                Callbacks.RemoveHandler <HandshakePacket>();
            });

            Callbacks.SetHandler <RemoteCallResponse>((c, p) => {
                RemoteFunctions.RaiseFunction(p);
            });
        }