示例#1
0
        /// <summary>
        /// Connect to the server
        /// </summary>
        public void Connect(ConnectionConfig connectionDetails, PackageConfig packageConfig, ConnectionApprovalMessage approvalMessage)
        {
            this.connectionDetails = connectionDetails;
            this.PackageConfig     = packageConfig;

            var config = new NetPeerConfiguration(connectionDetails.ServerName);

            config.EnableMessageType(NetIncomingMessageType.Data);
            config.EnableMessageType(NetIncomingMessageType.WarningMessage);
            config.EnableMessageType(NetIncomingMessageType.VerboseDebugMessage);
            config.EnableMessageType(NetIncomingMessageType.ErrorMessage);
            config.EnableMessageType(NetIncomingMessageType.Error);
            config.EnableMessageType(NetIncomingMessageType.DebugMessage);
            config.EnableMessageType(NetIncomingMessageType.DiscoveryResponse);

            client = new NetClient(config);
            client.Start();

            //encrypt passwords ?
            //INetEncryption algo = new NetTripleDESEncryption(encryptionKey);
            //handshake.Encrypt(algo);

            //Create the approval message
            var handshake = CreateMessage();

            approvalMessage.Encode(handshake);

            client.Connect(connectionDetails.ServerIP, handshake);
        }