Esempio n. 1
0
        public void Login(string Name, int ProtocolVersion, bool IsForge)
        {
            BaseProtocol baseProtocol = new BaseProtocol();
            Handshake    handshake    = new Handshake();

            handshake.ProtocolVersion = ProtocolVersion;

            if (IsForge)
            {
                handshake.ServerAddress = Program.QueryConfig.ServerAddress + "\0FML\0";
            }
            else
            {
                handshake.ServerAddress = Program.QueryConfig.ServerAddress;
            }

            handshake.ServerPort = Program.NatConfig.Port;

            handshake.NextState = NextState.login;

            byte[] buffer = baseProtocol.Pack(handshake);
            client.Send(buffer, 0, buffer.Length);

            Login login = new Login();

            login.Name = Name;
            buffer     = baseProtocol.Pack(login);
            client.Send(buffer, 0, buffer.Length);
            client.Flag = false;
            // Console.WriteLine($"Login完毕");
        }
Esempio n. 2
0
 public int SendFile(string fileName, string destFolder = "")
 {
     if (Connected)
     {
         byte[] data = AddHead(fileName, destFolder);
         if (data != null)
         {
             _tcpClients.Send(data, 0, data.Length);
             OnSendFile?.Invoke(fileName);
             return(data.Length);
         }
         else
         {
             OnError?.Invoke($"Read file error {fileName}");
         }
     }
     return(0);
 }