private static void ConnectUser(ITcpUser user) { var descrip = new DescriptorData(9999, 9999, 9999) { User = user }; db.DESCRIPTORS.Add(descrip); }
/// <summary> /// Handles connections /// </summary> /// <param name="tcpUser"></param> private void ConnectUser(ITcpUser tcpUser) { if (_pendingRepository.Contains(tcpUser.IpAddress) || _userRepository.Contains(tcpUser.IpAddress)) { Log.InfoFormat("User {0} already exists.", tcpUser.IpAddress); return; } var gameUser = new GameUser(tcpUser.IpAddress, tcpUser, _initAtom); _pendingRepository.Add(tcpUser.IpAddress, gameUser); gameUser.SendMenu("MainMenu"); }
/// <summary> /// /// </summary> /// <param name="ipAddress"></param> /// <param name="tcpClient"></param> /// <param name="initAtom"></param> public GameUser(string ipAddress, ITcpUser tcpClient, DictionaryAtom initAtom) : base(0, "NewUser") { var kernel = (IKernel)initAtom.GetObject("Ninject.Kernel"); IpAddress = ipAddress; TcpClient = tcpClient; TcpServer = kernel.Get <ITcpServer>(); MenuRepository = new MenuHandlerRepository(); MenuRepository.Add("MainMenu", kernel.Get <IMenuHandler>("MainMenu", new Parameter("initAtom", initAtom, false))); TcpServer.OnNetworkMessageReceived += Server_OnNetworkMessageReceived; }
/// <summary> /// /// </summary> /// <param name="tcpUser"></param> /// <param name="clientStream"></param> public void Enable(ITcpUser tcpUser, NetworkStream clientStream) { Validation.IsNotNull(tcpUser, "tcpUser"); Validation.IsNotNull(clientStream, "clientStream"); Validation.Validate(clientStream.CanWrite); ////IAC, SB, TELOPT_MXP, IAC, SE var buffer = new byte[6]; buffer[0] = (byte)MxpExtensions.IAC; //// Command buffer[1] = (byte)MxpExtensions.SB; //// Subnegotiation Start buffer[2] = (byte)MxpExtensions.TELOPT_MXP; //// Passed in telnet option buffer[3] = (byte)MxpExtensions.IAC; buffer[4] = (byte)MxpExtensions.SE; buffer[5] = (byte)'\0'; clientStream.Write(buffer, 0, buffer.Length); //// MXPMODE \x1B[6z var encoder = new ASCIIEncoding(); var byteBuffer = encoder.GetBytes(MxpExtensions.ESC + "[6z\0"); clientStream.Write(byteBuffer, 0, byteBuffer.Length); clientStream.Flush(); }
public void Enable(ITcpUser tcpUser, NetworkStream clientStream) { // do nothing }