Esempio n. 1
0
		private void RemoveClient(Client client)
		{
			client.Connected -= client_OnConnected;
			client.SocketError -= client_OnSocketError;
			client.Disconnected -= client_OnDisconnected;
			client.MessageReceived -= client_OnMessageReceived;

			Close(client);

			if (!clients.TryRemove(client.Id, out client))
			{
				throw new Exception("if (!clients.TryRemove(client.Id, out client)))");
			}

			nextClientId.Push(client.Id);

			OnDisconnected(client);
		}
Esempio n. 2
0
		private void client_OnMessageReceived(Client client, ReceivedEventArgs eventArgs)
		{
			OnMessageReceived(client, eventArgs.Message, eventArgs.MessageKind);
		}
Esempio n. 3
0
		private void client_OnMessageSent(Client client)
		{
			OnMessageSent(client);
		}
Esempio n. 4
0
		private void client_OnSocketError(Client client, SocketErrorEventArgs eventArgs)
		{
			OnSocketError(client, eventArgs.Exception);
		}
Esempio n. 5
0
		private void client_OnDisconnected(Client client, EventArgs eventArgs)
		{
			RemoveClient(client);
		}
Esempio n. 6
0
 private void client_OnConnectionClosed(Client sender, EventArgs eventArgs)
 {
     timer1.Enabled = false;
     HandleTitleChange("Client - Disconnected");
     HandleNewMsg(Environment.NewLine + "Disconnected!");
 }
Esempio n. 7
0
 public static ServerSocketErrorEventArgs NewEvent(Client client, Exception exception)
 {
     return new ServerSocketErrorEventArgs() { Client = client, Exception = exception };
 }
Esempio n. 8
0
		private void Close(Client client)
		{
			if (client != null)
			{
				client.Close();
			}
		}
Esempio n. 9
0
		internal void OnSocketError(Client client, Exception exception)
		{
			SocketError(this, ServerSocketErrorEventArgs.NewEvent(client, exception));
		}
Esempio n. 10
0
		internal void OnDisconnected(Client client)
		{
			Disconnected(this, ServerEventArgs.NewEvent(client));
		}
Esempio n. 11
0
        private void HandleClient()
        {
            if (client == null)
            {
                client = new Client();
                client.MessageReceived += client_OnMessageReceived;
                client.Disconnected += client_OnConnectionClosed;
                client.Connected += client_OnConnected;
                client.SocketError += client_OnSocketError;
                client.ClientIdReceived += client_OnReceivedClientId;
                client.ListClientIdReceived += client_OnReceivedListClientId;
            }

            client.Connect(AddressTest, PortTest);
        }
Esempio n. 12
0
 private void client_OnSocketError(Client sender, SocketErrorEventArgs eventArgs)
 {
     MessageBox.Show(eventArgs.Exception.Message + Environment.NewLine + eventArgs.Exception.StackTrace);
 }
Esempio n. 13
0
 void client_OnReceivedListClientId(Client sender, ListClientIdEventArgs eventArgs)
 {
     this.Invoke(new Action(() =>
     {
         listBox1.Items.Clear();
         listBox1.Items.AddRange(eventArgs.Id.Select(x => (object)x).ToArray());
     }));
 }
Esempio n. 14
0
 void client_OnReceivedClientId(Client sender, ClientIdEventArgs eventArgs)
 {
     HandleTitleChange("Client - Connected - " + client.Id);
 }
Esempio n. 15
0
 private void client_OnMessageReceived(Client client, ReceivedEventArgs eventArgs)
 {
     if (eventArgs.Message != null)
     {
         HandleNewMsg(Environment.NewLine + Encoding.UTF8.GetString(eventArgs.Message));
     }
 }
Esempio n. 16
0
		private void HandleNewClient(Socket socket)
		{
			int id;

			if (!nextClientId.TryPop(out id))
			{
				id = Interlocked.Increment(ref maxid);
			}

			var client = new Client(id, socket);

			if (!clients.TryAdd(id, client))
			{
				throw new Exception("if(!clients.TryAdd(id, client))");
			}

			client.Connected += client_OnConnected;
			client.SocketError += client_OnSocketError;
			client.MessageReceived += client_OnMessageReceived;
			client.Disconnected += client_OnDisconnected;

			client.InitSocket();
			client.OnConnected();
		}
Esempio n. 17
0
		internal void OnMessageSent(Client client)
		{
			MessageSent(this, ServerEventArgs.NewEvent(client));
		}
Esempio n. 18
0
		internal void OnMessageReceived(Client client, byte[] message, MessageKind messageKind)
		{
			if (messageKind == MessageKind.Message)
			{
				MessageReceived(this, ServerReceivedEventArgs.NewEvent(client, message, messageKind));
			}
			else if (messageKind == MessageKind.ListClientId)
			{
				client.Send(clients.Keys.ToArrayOfByte(), MessageKind.ListClientId);
			}
		}
Esempio n. 19
0
 public static ServerReceivedEventArgs NewEvent(Client client, byte[] message, MessageKind messageKind)
 {
     return new ServerReceivedEventArgs() { Client = client, Message = message, MessageKind = messageKind };
 }
Esempio n. 20
0
		private void client_OnConnected(Client client, EventArgs eventArgs)
		{
			client.Send(null, MessageKind.ServerReady);
			client.Send(client.Id.ToByte(), MessageKind.ClientId);
			client.Send(clients.Keys.ToArrayOfByte(), MessageKind.ListClientId);

			OnConnected(client);
		}
Esempio n. 21
0
 public static ServerEventArgs NewEvent(Client client)
 {
     return new ServerEventArgs() { Client = client };
 }
Esempio n. 22
0
 void client_OnConnected(Client sender, EventArgs eventArgs)
 {
     HandleTitleChange("Client - Connected - Unknown Id");
     HandleNewMsg(Environment.NewLine + "Connected!");
 }