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完毕"); }
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); }