Sound for Interaction class 11

esse quam videri
Jump to: navigation, search

Streaming 1

Internet

TCP/IP Transmission Control Protocol over Internet Protocol

The de facto standard Ethernet protocols incorporated into 4.2BSD Unix. TCP/IP was developed by DARPA for inter networking and encompasses both network layer and transport layer protocols. While TCP and IP specify two protocols at specific protocol layers, TCP/IP is often used to refer to the entire DoD protocol suite based upon these, including telnet, FTP, UDP and RDP.

  • IP - get packets from one place to another
  • TCP - sessions/gaurentee delivery etc...
  • UDP - simple but unreliable datagram services...
  • RTSP - simple but unreliable datagram services...

TCP/IP Layers http://www.uga.edu/~ucns/lans/tcpipsem/

OSI

(OSI-RM, OSI Reference Model, seven layer model) A model of network architecture and a suite of protocols (a protocol stack) to implement it, developed by ISO in 1978 as a framework for international standards in heterogeneous computer network architecture.

The OSI architecture is split between seven layers, from lowest to highest: 1 physical layer, 2 data link layer, 3 network layer, 4 transport layer, 5 session layer, 6 presentation layer, 7 application layer.

Each layer uses the layer immediately below it and provides a service to the layer above. In some implementations a layer may itself be composed of sub-layers.

OSI is the umbrella name for a series of non-proprietary protocols and specifications, comprising, among others, the OSI Reference Model, ASN.1 (Abstract Syntax Notation 1), BER (Basic Encoding Rules), CMIP and CMIS (Common Management Information Protocol and Services), X.400 (Message Handling System, or MHS), X.500 (Directory Service), Z39.50 (search and retrieval protocol used by WAIS), and many others. Quite apart from it's actual application to real protocols, it also serves as a useful teaching model.

URI - Universal Resource Identifier http://www.ietf.org/rfc/rfc2396.txt http://www.faqs.org/rfcs/rfc2396.html

Http URI Protcol Host Port Path File Fragment identifier Querystring http:// info.cern.ch :8000 /imaginary/test/ file.html #link ?test=yes server admin

XNA

The Game class in XNA has many default methods tha tare used to help define a structure for the game. Most XNA Game Components will inherit from this class

Game Methods

XNA's base class.

Constructor()

Instantiates objects from classes. New instances of a class are created with the keyword new.

Initialize()

Initializes all variables. Assigns static variables a value.

LoadGraphicsContent()

Loads code and images to the memory of the graphics card.

UnloadGraphicsContent()

Clear the memory of the graphics card.

Game loop

Update()

Updates game logic – Move, input, score, network, sound. Guarenteed to be called on every iteration

Draw()

Draws to the screen - May not be called every loop. Should be short and exit quickly


Default Game Class

#region Using Statements
using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Storage;
#endregion

namespace WindowsGameDemo
{
    /// <summary>
    /// This is the main type for your game
    /// </summary>
    public class Game1 : Microsoft.Xna.Framework.Game
    {
        GraphicsDeviceManager graphics;
        ContentManager content;


        public Game1()
        {
            graphics = new GraphicsDeviceManager(this);
            content = new ContentManager(Services);
        }


        /// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            // TODO: Add your initialization logic here

            base.Initialize();
        }


        /// <summary>
        /// Load your graphics content.  If loadAllContent is true, you should
        /// load content from both ResourceManagementMode pools.  Otherwise, just
        /// load ResourceManagementMode.Manual content.
        /// </summary>
        /// <param name="loadAllContent">Which type of content to load.</param>
        protected override void LoadGraphicsContent(bool loadAllContent)
        {
            if (loadAllContent)
            {
                // TODO: Load any ResourceManagementMode.Automatic content
            }

            // TODO: Load any ResourceManagementMode.Manual content
        }


        /// <summary>
        /// Unload your graphics content.  If unloadAllContent is true, you should
        /// unload content from both ResourceManagementMode pools.  Otherwise, just
        /// unload ResourceManagementMode.Manual content.  Manual content will get
        /// Disposed by the GraphicsDevice during a Reset.
        /// </summary>
        /// <param name="unloadAllContent">Which type of content to unload.</param>
        protected override void UnloadGraphicsContent(bool unloadAllContent)
        {
            if (unloadAllContent)
            {
                // TODO: Unload any ResourceManagementMode.Automatic content
                content.Unload();
            }

            // TODO: Unload any ResourceManagementMode.Manual content
        }


        /// <summary>
        /// Allows the game to run logic such as updating the world,
        /// checking for collisions, gathering input and playing audio.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Update(GameTime gameTime)
        {
            // Allows the game to exit
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();

            // TODO: Add your update logic here

            base.Update(gameTime);
        }


        /// <summary>
        /// This is called when the game should draw itself.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Draw(GameTime gameTime)
        {
            graphics.GraphicsDevice.Clear(Color.CornflowerBlue);

            // TODO: Add your drawing code here

            base.Draw(gameTime);
        }
    }
}