public AresTcpSocket(IPacketFormatter formatter) { Monitor = new IOMonitor(); Monitor.Start(); outQueue = new ConcurrentQueue <IPacket>(); Socket = SocketManager.CreateTcp(); Formatter = orgFormatter = formatter; }
public virtual void Bind(IPEndPoint ep) { if (Socket == null) { Socket = SocketManager.CreateTcp(); outQueue = new ConcurrentQueue <IPacket>(); Monitor.Start(); } Socket.Bind(ep); }
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); }
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); }
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); }
public AresTcpSocket(IPacketFormatter formatter) : this() { Socket = SocketManager.CreateTcp(); Formatter = orgFormatter = formatter; }