示例#1
0
 public AresTcpSocket(IPacketFormatter formatter)
 {
     Monitor = new IOMonitor();
     Monitor.Start();
     outQueue  = new ConcurrentQueue <IPacket>();
     Socket    = SocketManager.CreateTcp();
     Formatter = orgFormatter = formatter;
 }
示例#2
0
        public virtual void Bind(IPEndPoint ep)
        {
            if (Socket == null)
            {
                Socket   = SocketManager.CreateTcp();
                outQueue = new ConcurrentQueue <IPacket>();
                Monitor.Start();
            }

            Socket.Bind(ep);
        }
示例#3
0
        public virtual void Connect(string host, int port)
        {
            disconnected = false;

            if (Socket == null)
            {
                Socket   = SocketManager.CreateTcp();
                outQueue = new ConcurrentQueue <IPacket>();
                Monitor.Start();
            }

            var task = new SocketConnectTask(host, port);

            task.Completed += ConnectCompleted;

            Socket.QueueConnect(task);
        }
示例#4
0
        public virtual void Listen(int backlog)
        {
            if (Socket == null)
            {
                Socket   = SocketManager.CreateTcp();
                outQueue = new ConcurrentQueue <IPacket>();
                Monitor.Start();
            }

            Socket.Listen(backlog);

            SocketAcceptTask task = new SocketAcceptTask();

            task.Completed += AcceptComplete;

            Socket.QueueAccept(task);
        }
示例#5
0
        public virtual void Connect(IPEndPoint ep)
        {
            disconnecting = false;
            disconnected  = false;

            if (Socket == null)
            {
                Socket   = SocketManager.CreateTcp();
                outQueue = new ConcurrentQueue <IPacket>();
                Monitor.Start();
            }

            var task = new SocketConnectTask(ep);

            task.Completed += ConnectCompleted;

            Socket.QueueConnect(task);
        }
示例#6
0
 public AresTcpSocket(IPacketFormatter formatter)
     : this()
 {
     Socket    = SocketManager.CreateTcp();
     Formatter = orgFormatter = formatter;
 }