コード例 #1
0
        private void OnAccept(Socket socket)
        {
            IPEndPoint endPoint = socket.RemoteEndPoint as IPEndPoint;

            if (m_TcpClients.Count < m_MaxConnections)
            {
                TcpClientCoroutine tcpClient = new TcpClientCoroutine(m_TcpListener.CoroutineContainer, socket);
                int clientIndex = m_TcpClients.Count;
                m_TcpClients.Add(tcpClient);
                tcpClient.OnDisconnected += () => DisconnectedClient(clientIndex);
                tcpClient.OnRecieved     += (bytes) => ReceiveClientMessage(bytes, clientIndex);
            }
            else
            {
                socket.Shutdown(SocketShutdown.Both);
                socket.Close();
            }
        }
コード例 #2
0
 public void CreateNewTcpClient(int receiveBufferSize = 1024)
 {
     m_TcpClient = new TcpClientCoroutine(this, receiveBufferSize);
 }