Exemple #1
0
 public NetSocket(INetProxy proxy, EndPoint endPoint, ISerializer serializer)
 {
     this.peer            = new NetPeer(PeerIndex++, proxy, serializer);
     this.peer.OnClosed  += OnPeerClosed;
     this.peer.OnMessage += OnPeerMessage;
     this.endPoint        = endPoint ?? throw new ArgumentNullException("EndPoint can't be null!");
 }
Exemple #2
0
 public NetPeer(ulong id, INetProxy proxy, ISerializer serializer)
 {
     this.Id         = id;
     this.Proxy      = proxy ?? throw new ArgumentNullException("Socket proxy can't be null!");
     this.Serializer = serializer ?? throw new ArgumentNullException("Serializer can't be null!");
     this.sendBuffer = this.storage.Alloc(BUFFER_SIZE);
     this.recvBuffer = this.storage.Alloc(BUFFER_SIZE);
     this.sendThread = new Thread(new ThreadStart(DoSendAsync)); this.sendThread.Start();
     this.recvThread = new Thread(new ThreadStart(DoRecvAsync)); this.recvThread.Start();
 }
Exemple #3
0
        private void OnEndAccept(INetProxy proxy, object payload)
        {
            var peer = (NetPeer)payload;

            try
            {
                var p = new NetPeer(PeerIndex++, proxy, peer.Serializer);
                p.OnClosed  += OnPeerClosed;
                p.OnMessage += OnPeerMessage;
                this.OnConnected?.Invoke(p);
            }
            catch
            { }
        }