コード例 #1
0
        private void AddNewClient(Socket socket)
        {
            if ((Options & Utf8TcpServerOptions.SingleClientOnly) != 0)
            {
                lock (m_PeerListLock)
                {
                    foreach (var pp in m_PeerList)
                    {
                        pp.Disconnect();
                    }
                }
            }

            Utf8TcpPeer peer = new Utf8TcpPeer(this, socket);

            lock (m_PeerListLock)
            {
                m_PeerList.Add(peer);
                peer.ConnectionClosed += OnPeerDisconnected;
                peer.DataReceived     += OnPeerDataReceived;
            }


            if (ClientConnected != null)
            {
                Utf8TcpPeerEventArgs args = new Utf8TcpPeerEventArgs(peer);
                ClientConnected(this, args);
            }

            peer.Start();
        }
コード例 #2
0
ファイル: Utf8TcpServer.cs プロジェクト: cyecp/moonsharp
		private void AddNewClient(Socket socket)
		{
			if ((Options & Utf8TcpServerOptions.SingleClientOnly) != 0)
			{
				lock (m_PeerListLock)
				{
					foreach (var pp in m_PeerList)
					{
						pp.Disconnect();
					}
				}
			}

			Utf8TcpPeer peer = new Utf8TcpPeer(this, socket);

			lock (m_PeerListLock)
			{
				m_PeerList.Add(peer);
				peer.ConnectionClosed += OnPeerDisconnected;
				peer.DataReceived += OnPeerDataReceived;
			}


			if (ClientConnected != null)
			{
				Utf8TcpPeerEventArgs args = new Utf8TcpPeerEventArgs(peer);
				ClientConnected(this, args);
			} 
			
			peer.Start();
		}