public MainWindow() { InitializeComponent(); nf = new NetworkFacade(); UpdateCoursesListView(); UpdateTeacherComboBox(); UpdateTeacherListView(); }
public Form1() { InitializeComponent(); bool FoundConfig = ConfigurationManager.LoadCityConfig(); Logger.Initialize("Log.txt"); Logger.WarnEnabled = true; Logger.DebugEnabled = true; GonzoNet.Logger.OnMessageLogged += new GonzoNet.MessageLoggedDelegate(Logger_OnMessageLogged); CityDataModel.Logger.OnMessageLogged += new CityDataModel.MessageLoggedDelegate(Logger_OnMessageLogged); ProtocolAbstractionLibraryD.Logger.OnMessageLogged += new ProtocolAbstractionLibraryD.MessageLoggedDelegate(Logger_OnMessageLogged); if (!FoundConfig) { Logger.LogWarning("Couldn't find a ServerConfig.ini file!"); //TODO: This doesn't work... Application.Exit(); } //This has to happen for the static constructor to be called... NetworkFacade m_NetworkFacade = new NetworkFacade(); var dbConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MAIN_DB"]; DataAccess.ConnectionString = dbConnectionString.ConnectionString; m_Listener = new Listener(); //m_Listener.OnReceiveEvent += new OnReceiveDelegate(m_Listener_OnReceiveEvent); m_LoginClient = new NetworkClient("127.0.0.1", 2108); m_LoginClient.OnNetworkError += new NetworkErrorDelegate(m_LoginClient_OnNetworkError); m_LoginClient.OnConnected += new OnConnectedDelegate(m_LoginClient_OnConnected); m_LoginClient.Connect(null); //Send a pulse to the LoginServer every second. m_PulseTimer = new System.Timers.Timer(1000); m_PulseTimer.AutoReset = true; m_PulseTimer.Elapsed += new ElapsedEventHandler(m_PulseTimer_Elapsed); m_PulseTimer.Start(); m_Listener.Initialize(Settings.BINDING); }
static void Main(string[] args) { bool FoundConfig = ConfigurationManager.LoadCityConfig(); Logger.Initialize("Log.txt"); Logger.WarnEnabled = true; Logger.DebugEnabled = true; GonzoNet.Logger.OnMessageLogged += new GonzoNet.MessageLoggedDelegate(Logger_OnMessageLogged); CityDataModel.Logger.OnMessageLogged += new CityDataModel.MessageLoggedDelegate(Logger_OnMessageLogged); ProtocolAbstractionLibraryD.Logger.OnMessageLogged += new ProtocolAbstractionLibraryD.MessageLoggedDelegate(Logger_OnMessageLogged); if (!FoundConfig) { Console.WriteLine("Couldn't find a ServerConfig.ini file!"); Console.ReadLine(); Environment.Exit(0); } //This has to happen for the static constructor to be called... NetworkFacade m_NetworkFacade = new NetworkFacade(); var dbConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MAIN_DB"]; DataAccess.ConnectionString = dbConnectionString.ConnectionString; NetworkFacade.NetworkListener = new Listener(EncryptionMode.AESCrypto); //Remove a player from the current session when it disconnects. NetworkFacade.NetworkListener.OnDisconnected += new OnDisconnectedDelegate(NetworkFacade.CurrentSession.RemovePlayer); m_LoginClient = new NetworkClient("127.0.0.1", 2108, EncryptionMode.AESCrypto, true); m_LoginClient.OnNetworkError += new NetworkErrorDelegate(m_LoginClient_OnNetworkError); m_LoginClient.OnConnected += new OnConnectedDelegate(m_LoginClient_OnConnected); m_LoginClient.Connect(null); //Adds all houses from DB to the current session. using (DataAccess db = DataAccess.Get()) { IQueryable <Character> Chars = db.Characters.GetAllCharsWithHouses(); var CharsWithHouses = Chars.Where(x => x.HouseHouse != null); foreach (Character Char in CharsWithHouses) { NetworkFacade.CurrentSession.AddHouse(Char, Char.HouseHouse); } } NetworkFacade.NetworkListener.Initialize(Settings.BINDING); m_NancyHost = new NancyHost(new Uri("http://173.248.136.133:8888/city/")); m_NancyHost.Start(); try { NetworkFacade.CurrentTerrain.Initialize("East Jerome"); NetworkFacade.CurrentTerrain.LoadContent(); NetworkFacade.CurrentTerrain.GenerateCityMesh(); } catch (Exception e) { Console.WriteLine("Couldn't load elevation data!"); Console.WriteLine(e.ToString()); Console.ReadLine(); Environment.Exit(0); } m_VM = new VM.VM(); m_VM.Init(); while (true) { m_VM.Update(); Thread.Sleep(1000); } }
public void BeginReceiveTest() { AutoResetEvent resetEvent = new AutoResetEvent( false ); NetworkFacade facadeUnderTest = null; // Set up the "server" TcpListener server = new TcpListener( Dns.GetHostEntry( "localhost" ).AddressList[0], 4001 ); server.Start(); // When the client connects, set up the object under test server.BeginAcceptTcpClient( ar => { TcpListener s = ar.AsyncState as TcpListener; TcpClient serversClientSocket = s.EndAcceptTcpClient( ar ); facadeUnderTest = new NetworkFacade( serversClientSocket.Client ); resetEvent.Set(); } , server ); // // Setup complete... // // Connect to the above "server" TcpClient client = new TcpClient( "localhost", 4001 ); // Wait for client connect Assert.That( resetEvent.WaitOne( 30000 ), Is.True ); // Wait to receive data from client. Once received, release the reset event byte[] buffer = new byte[] { 0x04, 0x05, 0x06 }; facadeUnderTest.BeginReceive( ( ok, data, facade ) => { Assert.That( facade, Is.SameAs( facadeUnderTest ) ); Assert.That( ok, Is.True, "The 'success' flag was not set in the callback even though the data was sent" ); Assert.That( data[0], Is.EqualTo( 0x04 ) ); Assert.That( data.Length, Is.EqualTo( 3 ) ); resetEvent.Set(); } ); client.GetStream().Write( buffer, 0, buffer.Length ); // Wait for the class under test to receive data Assert.That( resetEvent.WaitOne( 5000 ), Is.True ); }
public void VerifyDisconnectBehaviorOnReceive() { bool wasEventRaised = false; AutoResetEvent resetEvent = new AutoResetEvent(false); NetworkFacade facadeUnderTest = null; // Set up the "server" TcpListener server = new TcpListener(Dns.GetHostEntry("localhost").AddressList[0], 4003); server.Start(); TcpClient serversClientSocket = null; // When the client connects, set up the object under test server.BeginAcceptTcpClient( ar => { TcpListener s = ar.AsyncState as TcpListener; serversClientSocket = s.EndAcceptTcpClient(ar); facadeUnderTest = new NetworkFacade(serversClientSocket.Client); resetEvent.Set(); } , server); // // Setup complete... // // Connect to the above "server" from a web client TcpClient client = new TcpClient("localhost", 4003); // Wait for client connect Assert.That(resetEvent.WaitOne(30000), Is.True); resetEvent.Reset(); facadeUnderTest.ConnectionClosed += ( object sender, System.EventArgs e ) => { wasEventRaised = true; resetEvent.Set(); }; facadeUnderTest.BeginReceive((s,d,n) => Assert.That(s, Is.False)); // After the client connects, close the connection and check for the event serversClientSocket.Client.Close(); Assert.That(resetEvent.WaitOne(30000), Is.True); Assert.That(wasEventRaised); }
public void BeginCloseTest() { AutoResetEvent resetEvent = new AutoResetEvent( false ); NetworkFacade facadeUnderTest = null; // Set up the "server" TcpListener server = new TcpListener( Dns.GetHostEntry( "localhost" ).AddressList[0], 4002 ); server.Start(); // When the client connects, set up the object under test server.BeginAcceptTcpClient( ar => { TcpListener s = ar.AsyncState as TcpListener; TcpClient serversClientSocket = s.EndAcceptTcpClient( ar ); facadeUnderTest = new NetworkFacade( serversClientSocket.Client ); resetEvent.Set(); } , server ); // // Setup complete... // // Connect to the above "server" TcpClient client = new TcpClient( "localhost", 4002 ); // Wait for client connect Assert.That( resetEvent.WaitOne( 30000 ), Is.True ); Assert.That( client.Connected, Is.True ); // Release the event when the connection is closed. This event is raised before the callback // is invoked. bool eventRaised = false; facadeUnderTest.ConnectionClosed += ( object sender, System.EventArgs e ) => eventRaised = true; // Reset the event so we'll block resetEvent.Reset(); // Close connection facadeUnderTest.BeginClose((b, f) => { // Delegate invoked when closed Assert.That( f, Is.SameAs( facadeUnderTest ) ); Assert.That( b, Is.True ); resetEvent.Set(); } ); // Wait for close Assert.That( resetEvent.WaitOne( 30000 ), Is.True ); Assert.That(eventRaised); NetworkStream stream = client.GetStream(); stream.Write( new byte[] { 0x04, 0x05 }, 0, 2 ); byte[] buffer = new byte[300]; Assert.Throws<IOException>( () => stream.Read( buffer, 0, buffer.Length ) ); }
public void BeginSendTest() { AutoResetEvent resetEvent = new AutoResetEvent( false ); NetworkFacade facadeUnderTest = null; // Set up the "server" TcpListener server = new TcpListener( Dns.GetHostEntry( "localhost" ).AddressList[0], 4000 ); server.Start(); // When the client connects, set up the object under test server.BeginAcceptTcpClient( ar => { TcpListener s = ar.AsyncState as TcpListener; TcpClient serversClientSocket = s.EndAcceptTcpClient( ar ); facadeUnderTest = new NetworkFacade( serversClientSocket.Client ); resetEvent.Set(); } , server ); // // Setup complete... // // Connect to the above "server" TcpClient client = new TcpClient( "localhost", 4000 ); // Wait for client connect Assert.That( resetEvent.WaitOne( 30000 ), Is.True ); // Server socket sends to client socket once the client connects byte[] buffer = new byte[] { 0x04, 0x05, 0x06 }; facadeUnderTest.BeginSend( buffer, ( s, f ) => { Assert.That( f, Is.SameAs( facadeUnderTest ) ); Assert.That( s, Is.True, "The 'success' flag was not set in the callback even though the data was sent" ); resetEvent.Set(); } ); // Wait for the class under test to send data Assert.That( resetEvent.WaitOne( 5000 ), Is.True ); byte[] bufferFromClient = new byte[100]; int dataRead = client.GetStream().Read( bufferFromClient, 0, bufferFromClient.Length ); Assert.That( dataRead, Is.EqualTo( 3 ) ); Assert.That( bufferFromClient[0], Is.EqualTo( 0x04 ) ); Assert.That( bufferFromClient[1], Is.EqualTo( 0x05 ) ); Assert.That( bufferFromClient[2], Is.EqualTo( 0x06 ) ); }
//ChannelFactory<IStudentService> channelFactory = new ChannelFactory<IStudentService>("StudentServiceEndpoint"); //IStudentService proxy; public StudentGUI() { //proxy = channelFactory.CreateChannel(); InitializeComponent(); nf = new NetworkFacade(); }