Chris Harrison Stacey Kuznetsov Mariya Lysenkova Jennifer Refat Gabriel Sinkin.

Slides:



Advertisements
Similar presentations
Socket Programming. Basics Socket is an interface between application and network – Application creates a socket – Socket type dictates the style of communication.
Advertisements

CS 4700 / CS 5700 Network Fundamentals
Transport Layer3-1 Transport Overview and UDP. Transport Layer3-2 Goals r Understand transport services m Multiplexing and Demultiplexing m Reliable data.
Taekyung Kim 0x410 ~ 0x International Standards Organization (ISO) is a multinational body dedicated to worldwide agreement on international.
CCNA – Network Fundamentals
EEE436 / CS422 Final Presentation Group
Visual jMUD Oscar Chen CS491. Important Note The IMAGES used in this presentation and demonstration of Visual jMUD are COPYRIGHT by their respective holders.
Data Communications and Networking (Third Edition)
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Reliable Networking Systems The goals: Implement a reliable network application of a file sharing network. Implement a reliable network application of.
MS.Net Framework with emphasis on online gaming Ed Mucker CS522 9 Dec 02.
Client Server Model The client machine (or the client process) makes the request for some resource or service, and the server machine (the server process)
A Chat Server DBI – Representation and Management of Data on the Internet.
Client Server Design Alternatives© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid.
Chris Harrison Stacey Kuznetsov Mariya Lysenkova Jennifer Refat Gabriel Sinkin.
Advanced UDP Sockets© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer.
UDP© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer Science Department.
VSP Video Station Protocol Presented by : Mittelman Dana Ben-Hamo Revital Ariel Tal Instructor : Sela Guy Presented by : Mittelman Dana Ben-Hamo Revital.
Chat Room Project (IM- E2003) Supervised by : Dan Witzner Hansen Group Member: Xijie Lu Vu Pham To IT University of Copenhagen 23rd Jan.2004.
Fundamentals of Python: From First Programs Through Data Structures
Applying Real-time Simulation to Real-time Collaboration Bart Miller.
Revealed Presented by Jaysheel D Bhavsar Jaysheel D Bhavsar.
By: Joel Rodriguez.  International student from Mexico  Delicias, Chihuahua Mexico  Spanish  Sports and Music.
Hands On Networking Socket Programming Ram P Rustagi, ISE Dept Abhishek Gupta, ISE Dept Laxmi Kuber, MCA Dept June 28-30, 2012.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
VoIP, Asterisk, and Java Michael P. Plezbert Agilis Systems, Inc St. Louis Java Users Group April 13, 2006.
1 Network Gaming. History of Network Gaming MUD MUD –Multi-user Dungeons Modem Games Modem Games Match Makings Match Makings –Real-time strategy –FPS.
Transport Layer Layer #4 (OSI-RM). Transport Layer Main function of OSI Transport layer: Accept data from the Application layer and prepare it for addressing.
Cli/Serv.: Chat/121 Client/Server Distributed Systems v Objectives –discuss a client/server based chat system –mention two other ways of chatting.
Vassil Roussev 2 A socket is the basic remote communication abstraction provided by the OS to processes. controlled by operating system.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 26.
Introduction to Network Programming with Sockets Network Programming Kansas State University at Salina.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
Copyright © Curt Hill, Client – Server Computing An important paradigm.
Practicum: - Client-Server Computing in Java Fundamental Data Structures and Algorithms Margaret Reid-Miller 13 April 2004.
Distributed Systems Concepts and Design Chapter 4.
1. I NTRODUCTION TO N ETWORKS Network programming is surprisingly easy in Java ◦ Most of the classes relevant to network programming are in the java.net.
A Space Game By William Sistar. The Problem What is provided:  Most network games are single player  Some do allow team work but not in a common environment.
Network Programming Eddie Aronovich mail:
GemIsland Prepared by: Areen Jondi Diala Hamadneh Supervised by: Dr. Raed Alqadi Dr. Luai Malhis.
1 Figure 3-27: Use of TCP and UDP Port Number Client From: :50047 To: :80 SMTP Server Port 25 Webserver.
Transport Layer COM211 Communications and Networks CDA College Theodoros Christophides
Light Cycles Galore Building a Multi-Server Multiplayer Game Architecture By Per Lohmann.
CS 158A1 1.4 Implementing Network Software Phenomenal success of the Internet: – Computer # connected doubled every year since 1981, now approaching 200.
TURBO TANKS PYGAME. GAME FEATURES Two or more players handled by client/server design. Angular motion for tank movement Threadpool server design (to optimize.
Socket Programming Introduction. Socket Definition A network socket is one endpoint in a two-way communication flow between two programs running over.
Internet multimedia: simplest approach audio, video not streamed: r no, “pipelining,” long delays until playout! r audio or video stored in file r files.
Client/Server Socket Programming Project
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 5.
Berkeley Socket Abstraction
LECTURE 10 Networking. NETWORKING IN PYTHON Many Python applications include networking – the ability to communicate between multiple machines. We are.
Tutorial 11 Solutions. Question 1 Q1. What is meant by interactivity for streaming stored audio/video? What is meant by interactivity for real-time interactive.
INTRO TO NETWORKING. OVERVIEW Transmitting data Across a physical media Ethernet Wi-fi Bluetooth Etc. Cross-platform (usually) Challenges Varying network.
Java Networking I IS Outline  Quiz #3  Network architecture  Protocols  Sockets  Server Sockets  Multi-threaded Servers.
A Local Area Network Chat Client ITTC LAN CHAT John Vincent Cecogo Jerikho Daguno Ardee Santos Elaine Mendoza Anjomar Pat Del Mindo Philip John Sales Philip.
Java’s networking capabilities are declared by the classes and interfaces of package java.net, through which Java offers stream-based communications that.
Multi player client sever Snake Game Technology : JAVA (swing for user interface and Socket for passing coordinates of snakes, food item and score)
1 K. Salah Application Layer Module K. Salah Network layer duties.
Client Acceptance Test Michel Atoudem Kana. 29 January 2003Client Acceptance Test2 Content System Architecture The Problem Project Organisation Project.
Game Networking CS381 Spring Internet ● An information superhighway ● A collection of pipes ● Arpanet – Robust communication in the face of infrastructure.
Working at a Small-to-Medium Business or ISP – Chapter 7
Client/Server Example
Working at a Small-to-Medium Business or ISP – Chapter 7
Working at a Small-to-Medium Business or ISP – Chapter 7
Chapter 16 Socket Interface.
Software Engineering for Internet Applications
FTP AND COMMAND PROCESSING IN FTP
Presentation transcript:

Chris Harrison Stacey Kuznetsov Mariya Lysenkova Jennifer Refat Gabriel Sinkin

MMORPG Massively Multiplayer Online Role Playing Game Wide target audience Hundreds/Thousands of players Large, persistent world Movement, Chat, Trade, Combat

Protocol Plain text (abstracted) Simple and extensible Command composition –Leading character determines command type –Server and client know command structure –“M ” –Movement; Player 45 moving from x=1356, y=2483 to x=1401, y=2237.

Command Flow Chart

Server Architecture Network Communication –BSD Sockets –One socket per client, two-way data flow –TCP (not UDP) Server broadcasts commands once (no streaming data) Data less time-sensitive than other applications –TCP Header: 20 bytes. Movement Command: ~25 bytes. ~50 bytes per command Clients generate a command every ~2 seconds 1000 concurrent clients ~25Kbps upstream data Naïve Broadcasting: 25Mbps!

Server Architecture Handle many concurrent clients –Posix Threads –Main Accept thread Waits for new client connection Spawns new client handler thread –Thread for each client Receives command string Adds command to command queue Sleeps –Broadcast (responder) thread Continuously processing commands unless queue is empty Selectively broadcasts to relevant clients –Movement, chat, combat to local area –Private chat, trade, to single player –Taps into player-data-storage class (updating and getting information)

Server Architecture

Life of a Command

Mock Screenshot