コード例 #1
0
        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();
        }
コード例 #2
0
ファイル: MpxSockets.cs プロジェクト: dotnetchris/nfx
 protected internal MpxClientSocket(MpxClientTransport transport,
                                    IPEndPoint remoteServer,
                                    ClientSite clientSite,
                                    MpxSocketReceiveAction <MpxClientTransport> receiveAction)
     : base(transport, remoteServer, clientSite, receiveAction)
 {
 }
コード例 #3
0
 public override MpxClientSocket MakeClientSocket(MpxClientTransport transport,
                                                  IPEndPoint remoteServer,
                                                  ClientSite clientSite,
                                                  MpxSocketReceiveAction <MpxClientTransport> receiveAction)
 {
     return(new MpxWinClientSocket(transport, remoteServer, clientSite, receiveAction));
 }
コード例 #4
0
ファイル: MpxWinSockets.cs プロジェクト: itadapter/nfx
        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();
        }
コード例 #5
0
ファイル: MpxWinSockets.cs プロジェクト: vlapchenko/nfx
 public override MpxClientSocket MakeClientSocket(MpxClientTransport transport, 
                                                  IPEndPoint remoteServer,
                                                  ClientSite clientSite,
                                                  MpxSocketReceiveAction<MpxClientTransport> receiveAction)
 {
   return new MpxWinClientSocket(transport, remoteServer, clientSite, receiveAction);
 }
コード例 #6
0
ファイル: MpxSockets.cs プロジェクト: dotnetchris/nfx
 protected internal MpxListener(MpxServerTransport transport,
                                IPEndPoint listenEndPoint,
                                MpxSocketReceiveAction <MpxServerTransport> socketReceiveAction)
 {
     m_Transport           = transport;
     m_EndPoint            = listenEndPoint;
     m_SocketReceiveAction = socketReceiveAction;
 }
コード例 #7
0
ファイル: MpxSockets.cs プロジェクト: dotnetchris/nfx
 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);
 }
コード例 #8
0
 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();
 }
コード例 #9
0
        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();
        }
コード例 #10
0
ファイル: MpxSockets.cs プロジェクト: dotnetchris/nfx
        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();
        }
コード例 #11
0
 public override MpxListener MakeListener(MpxServerTransport transport,
                                          IPEndPoint listenEndPoint,
                                          MpxSocketReceiveAction <MpxServerTransport> socketReceiveAction)
 {
     return(new MpxWinListener(transport, listenEndPoint, socketReceiveAction));
 }
コード例 #12
0
ファイル: MpxSockets.cs プロジェクト: dotnetchris/nfx
 MakeListener(MpxServerTransport transport,
              IPEndPoint listenEndPoint,
              MpxSocketReceiveAction <MpxServerTransport> socketReceiveAction);
コード例 #13
0
ファイル: MpxSockets.cs プロジェクト: dotnetchris/nfx
 MakeClientSocket(MpxClientTransport transport,
                  IPEndPoint remoteServer,
                  ClientSite clientSite,
                  MpxSocketReceiveAction <MpxClientTransport> receiveAction);
コード例 #14
0
ファイル: MpxWinSockets.cs プロジェクト: itadapter/nfx
 public override MpxListener MakeListener(MpxServerTransport transport,
     IPEndPoint listenEndPoint,
     MpxSocketReceiveAction<MpxServerTransport> socketReceiveAction)
 {
     return new MpxWinListener(transport, listenEndPoint, socketReceiveAction);
 }
コード例 #15
0
ファイル: MpxWinSockets.cs プロジェクト: itadapter/nfx
        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();
        }
コード例 #16
0
ファイル: MpxWinSockets.cs プロジェクト: itadapter/nfx
 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();
 }