public void Open() { var s = SharedSocket; SocketPool = SocketPool == null ? new Util.ResourcePool<Socket>(CreateSocket, DeleteSocket) : SocketPool; EventArgsPool = EventArgsPool == null ? new Util.ResourcePool<SocketAsyncEventArgs>(CreateEventArg, DeleteEventArg) : EventArgsPool; if (s != null && !s.Connected) { DeleteSocket(s); } if (s == null) { s = CreateSocket(); s.Connect(Host, Port); SharedSocket = s; } }
private void Init() { SocketPool = new Util.ResourcePool<Socket>(CreateSocket, DeleteSocket, 1, 10); EventArgsPool = new Util.ResourcePool<SocketAsyncEventArgs>(CreateEventArg, DeleteEventArg, 5, 30); _socketEventHandler = new EventHandler<SocketAsyncEventArgs>(ProcessSocketEvents); _rbuffer = new StringBuilder(); _rbuffer2 = new List<byte>(); }
public void Close() { var s = SharedSocket; DeleteSocket(s); SharedSocket = null; EventArgsPool.Dispose(); SocketPool.Dispose(); EventArgsPool = null; SocketPool = null; }