internal MpxWinClientSocket(MpxClientTransport transport, IPEndPoint remoteServer, ClientSite clientSite, MpxSocketReceiveAction <MpxClientTransport> receiveAction) : base(transport, remoteServer, clientSite, receiveAction) { m_Client = new TcpClient(); m_Client.Connect(m_EndPoint); m_Socket = m_Client.Client; m_Client.NoDelay = true; m_Client.LingerState.Enabled = true; m_Client.LingerState.LingerTime = m_Transport.Binding.SocketLingerSec; m_Client.ReceiveBufferSize = m_Transport.Binding.ClientReceiveBufferSize; m_Client.SendBufferSize = m_Transport.Binding.ClientSendBufferSize; m_Client.ReceiveTimeout = m_Transport.Binding.ClientReceiveTimeout; m_Client.SendTimeout = m_Transport.Binding.ClientSendTimeout; //Send ClientSite right away m_SendChunk.Position = 0; var sz = m_ClientSite.Serialize(m_SendChunk); m_Client.GetStream().Write(m_SendChunk.GetBuffer(), 0, sz); //------------------ m_RArgs = new SocketState(m_Client.Client, m_ReceiveChunk.GetBuffer()); m_RArgs.Completed += socketCallback; initiateReceive(); }
protected internal MpxClientSocket(MpxClientTransport transport, IPEndPoint remoteServer, ClientSite clientSite, MpxSocketReceiveAction <MpxClientTransport> receiveAction) : base(transport, remoteServer, clientSite, receiveAction) { }
public override MpxClientSocket MakeClientSocket(MpxClientTransport transport, IPEndPoint remoteServer, ClientSite clientSite, MpxSocketReceiveAction <MpxClientTransport> receiveAction) { return(new MpxWinClientSocket(transport, remoteServer, clientSite, receiveAction)); }
internal MpxWinClientSocket(MpxClientTransport transport, IPEndPoint remoteServer, ClientSite clientSite, MpxSocketReceiveAction<MpxClientTransport> receiveAction) : base(transport, remoteServer, clientSite, receiveAction) { m_Client = new TcpClient(); m_Client.Connect(m_EndPoint); m_Socket = m_Client.Client; m_Client.NoDelay = true; m_Client.LingerState.Enabled = true; m_Client.LingerState.LingerTime = m_Transport.Binding.SocketLingerSec; m_Client.ReceiveBufferSize = m_Transport.Binding.ClientReceiveBufferSize; m_Client.SendBufferSize = m_Transport.Binding.ClientSendBufferSize; m_Client.ReceiveTimeout = m_Transport.Binding.ClientReceiveTimeout; m_Client.SendTimeout = m_Transport.Binding.ClientSendTimeout; //Send ClientSite right away m_SendChunk.Position = 0; var sz = m_ClientSite.Serialize( m_SendChunk ); m_Client.GetStream().Write(m_SendChunk.GetBuffer(), 0, sz); //------------------ m_RArgs = new SocketState(m_Client.Client, m_ReceiveChunk.GetBuffer()); m_RArgs.Completed += socketCallback; initiateReceive(); }
public override MpxClientSocket MakeClientSocket(MpxClientTransport transport, IPEndPoint remoteServer, ClientSite clientSite, MpxSocketReceiveAction<MpxClientTransport> receiveAction) { return new MpxWinClientSocket(transport, remoteServer, clientSite, receiveAction); }
protected internal MpxListener(MpxServerTransport transport, IPEndPoint listenEndPoint, MpxSocketReceiveAction <MpxServerTransport> socketReceiveAction) { m_Transport = transport; m_EndPoint = listenEndPoint; m_SocketReceiveAction = socketReceiveAction; }
protected internal MpxServerSocket(MpxListener listener, IPEndPoint clientEndPoint, ClientSite clientSite, MpxSocketReceiveAction <MpxServerTransport> receiveAction ) : base(listener.Transport, clientEndPoint, clientSite, receiveAction) { m_Listener = listener; listener.Transport.ClientSiteConnected(this); }
internal MpxWinListener(MpxServerTransport transport, IPEndPoint listenEndPoint, MpxSocketReceiveAction <MpxServerTransport> socketReceiveAction) : base(transport, listenEndPoint, socketReceiveAction) { m_Active = true; m_TcpListener = new TcpListener(listenEndPoint); m_TcpListener.ExclusiveAddressUse = true; m_TcpListener.Start(); m_Thread = new Thread(listenerThreadSpin); m_Thread.Name = THREAD_NAME; m_Thread.Start(); }
internal MpxWinServerSocket(MpxListener listener, TcpClient client, ClientSite clientSite, MpxSocketReceiveAction <MpxServerTransport> receiveAction ) : base(listener, (IPEndPoint)client.Client.RemoteEndPoint, clientSite, receiveAction) { m_Client = client; m_Socket = m_Client.Client; m_RArgs = new SocketState(m_Client.Client, m_ReceiveChunk.GetBuffer()); m_RArgs.Completed += socketCallback; initiateReceive(); }
protected MpxSocket(TTransport transport, IPEndPoint endPoint, ClientSite clientSite, MpxSocketReceiveAction <TTransport> receiveAction) { m_Transport = transport; m_EndPoint = endPoint; m_ClientSite = clientSite; m_ReceiveAction = receiveAction; m_SendChunk = ((IMpxTransport)transport).Binding.MakeOrReuseChunk(); m_ReceiveChunk = ((IMpxTransport)transport).Binding.MakeOrReuseChunk(); }
public override MpxListener MakeListener(MpxServerTransport transport, IPEndPoint listenEndPoint, MpxSocketReceiveAction <MpxServerTransport> socketReceiveAction) { return(new MpxWinListener(transport, listenEndPoint, socketReceiveAction)); }
MakeListener(MpxServerTransport transport, IPEndPoint listenEndPoint, MpxSocketReceiveAction <MpxServerTransport> socketReceiveAction);
MakeClientSocket(MpxClientTransport transport, IPEndPoint remoteServer, ClientSite clientSite, MpxSocketReceiveAction <MpxClientTransport> receiveAction);
public override MpxListener MakeListener(MpxServerTransport transport, IPEndPoint listenEndPoint, MpxSocketReceiveAction<MpxServerTransport> socketReceiveAction) { return new MpxWinListener(transport, listenEndPoint, socketReceiveAction); }
internal MpxWinServerSocket(MpxListener listener, TcpClient client, ClientSite clientSite, MpxSocketReceiveAction<MpxServerTransport> receiveAction ) : base(listener, (IPEndPoint)client.Client.RemoteEndPoint, clientSite, receiveAction) { m_Client = client; m_Socket = m_Client.Client; m_RArgs = new SocketState(m_Client.Client, m_ReceiveChunk.GetBuffer()); m_RArgs.Completed += socketCallback; initiateReceive(); }
internal MpxWinListener(MpxServerTransport transport, IPEndPoint listenEndPoint, MpxSocketReceiveAction<MpxServerTransport> socketReceiveAction) : base(transport, listenEndPoint, socketReceiveAction) { m_Active = true; m_TcpListener = new TcpListener(listenEndPoint); m_TcpListener.ExclusiveAddressUse = true; m_TcpListener.Start(); m_Thread = new Thread(listenerThreadSpin); m_Thread.Name = THREAD_NAME; m_Thread.Start(); }