private void lookConnection_Tick(object sender, EventArgs e) { if (NetManager.client.isConnection) { btnSecret.Enabled = true; btnSend.Enabled = true; btnConnection.Enabled = false; myName.Enabled = false; writeline("Connection successful !!!!!\n"); lookConnection.Enabled = false; return; } if (NetManager.client.isOpen) { clsLogin login = new clsLogin(0, Form1.myName.Text); Package data = new Package((uint)Protocol.LOGIN, login.ToBytes()); NetManager.toServer.Enqueue(data); } }
public void HandleMessage() { try { NetIncomingMessage im; string message = string.Empty; Byte[] Bymessage; if ((im = client.ReadMessage()) == null) { return; } //Form1.writeline("GET"); config.EnableMessageType(NetIncomingMessageType.ConnectionApproval); // handle incoming message switch (im.MessageType) { case NetIncomingMessageType.ConnectionApproval: case NetIncomingMessageType.DebugMessage: case NetIncomingMessageType.ErrorMessage: case NetIncomingMessageType.WarningMessage: case NetIncomingMessageType.VerboseDebugMessage: break; case NetIncomingMessageType.StatusChanged: NetConnectionStatus status = (NetConnectionStatus)im.ReadByte(); //Form1.writeline(status.ToString()); if (status == NetConnectionStatus.Connected) { isOpen = true; } if (status == NetConnectionStatus.Disconnected) { } break; case NetIncomingMessageType.Data: Bymessage = im.ReadBytes(4); Package package = new Package(BitConverter.ToUInt32(Bymessage, 0)); //Form1.writeline("[C<--S] " + (Protocol)package.protocol + "[" + (package.protocol).ToString() + "]"); int _length = BitConverter.ToInt32(im.ReadBytes(4), 0); List <byte> _data = new List <byte>(); for (int i = 0; i < _length; i++) { _data.AddRange(im.ReadBytes(1)); } package.data = _data.ToArray(); if (package.protocol == (uint)Protocol.LOGIN) { clsLogin login = new clsLogin(0, ""); login = login.FromBytes(package.data); User user = new User(login.uid, login.userName, null); NetManager.me = user; isConnection = true; } else { NetManager.toClient.Enqueue(package); } break; default: Form1.writeline("Unhandled type: " + im.MessageType + " " + im.LengthBytes + " bytes"); break; } client.Recycle(im); } catch (Exception e) { Form1.writeline(e.ToString()); } }