コード例 #1
0
 private void button2_Click(object sender, EventArgs e)
 {
     KSPM.Network.Common.Messages.Message messageToSend = null;
     if (myNetworkEntity.ownerNetworkCollection.socketReference.Connected)
     {
         KSPM.Network.Common.Messages.Message.DisconnectMessage(myNetworkEntity, out messageToSend);
         PacketHandler.EncodeRawPacket(ref myNetworkEntity.ownerNetworkCollection.rawBuffer);
         this.myNetworkEntity.ownerNetworkCollection.socketReference.Send(myNetworkEntity.ownerNetworkCollection.rawBuffer);
         this.myNetworkEntity.ownerNetworkCollection.socketReference.Disconnect(true);
         this.checkBox1.Checked = this.myNetworkEntity.ownerNetworkCollection.socketReference.Connected;
     }
 }
コード例 #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            KSPM.Network.Common.Messages.Message messageToSend = null;
            string tmpUserName;

            string[] splitedUserInfo;
            int      bytesCount;

            byte[]   utf8Bytes;
            byte[]   hashCode;
            GameUser user;

            switch ((KSPM.Network.Common.Messages.Message.CommandType) this.comboBoxCommands.SelectedIndex)
            {
            case KSPM.Network.Common.Messages.Message.CommandType.NewClient:
                KSPM.Network.Common.Messages.Message.NewUserMessage(myNetworkEntity, out messageToSend);
                PacketHandler.EncodeRawPacket(ref myNetworkEntity.ownerNetworkCollection.rawBuffer);
                this.myNetworkEntity.ownerNetworkCollection.socketReference.Send(myNetworkEntity.ownerNetworkCollection.rawBuffer, (int)messageToSend.MessageBytesSize, SocketFlags.None);
                //this.myNetworkEntity.ownerNetworkCollection.socketReference.Send(myNetworkEntity.ownerNetworkCollection.rawBuffer);
                break;

            case KSPM.Network.Common.Messages.Message.CommandType.Disconnect:
                KSPM.Network.Common.Messages.Message.DisconnectMessage(myNetworkEntity, out messageToSend);
                PacketHandler.EncodeRawPacket(ref myNetworkEntity.ownerNetworkCollection.rawBuffer);
                this.myNetworkEntity.ownerNetworkCollection.socketReference.Send(myNetworkEntity.ownerNetworkCollection.rawBuffer, (int)messageToSend.MessageBytesSize, SocketFlags.None);
                //this.myNetworkEntity.ownerNetworkCollection.socketReference.Send(myNetworkEntity.ownerNetworkCollection.rawBuffer);
                break;

            case  KSPM.Network.Common.Messages.Message.CommandType.Authentication:
                tmpUserName = textBoxCommands.Text;
                utf8Bytes   = utf8Strings.GetBytes(tmpUserName);
                KSPM.IO.Security.Hash.GetHash(ref utf8Bytes, 0, (uint)utf8Bytes.Length, out hashCode);
                user = new GameUser(ref tmpUserName, ref hashCode);
                User asd = user;
                KSPM.Network.Common.Messages.Message.AuthenticationMessage(myNetworkEntity, asd, out messageToSend);
                this.myNetworkEntity.ownerNetworkCollection.socketReference.Send(myNetworkEntity.ownerNetworkCollection.rawBuffer, (int)messageToSend.MessageBytesSize, SocketFlags.None);
                //this.myNetworkEntity.ownerNetworkCollection.socketReference.Send(myNetworkEntity.ownerNetworkCollection.rawBuffer);
                break;
            }
        }
コード例 #3
0
 static void server_UDPMessageArrived(object sender, KSPM.Network.Common.Messages.Message message)
 {
     //Console.WriteLine( string.Format("{0}-{1}", ((ServerSideClient)sender).Id, message.MessageBytesSize.ToString()));
     KSPMGlobals.Globals.KSPMServer.ClientsManager.UDPBroadcastClients(message);
     ((ServerSideClient)sender).IOUDPMessagesPool.Recycle(message);
 }