Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Multiplayer Java Game


Published on

Multiplayer Java Game via Sockets. Where two Players could play this game on different computers.

Published in: Education
  • Be the first to comment

Multiplayer Java Game

  1. 1. Multiplayer Java Stream-Socket Game By : KARIM BAIDAR
  2. 2. Objective The objective is to create a Multiplayer game where two distinct users can play that game from two distinct computers.
  4. 4. Stream Sockets ? • With stream sockets, a process establishes a connection to another process • Stream sockets are said to provide a connection-oriented service • The protocol used for transmission is the popular TCP (Transmission Control Protocol)
  5. 5. Class Framework of Game • Box-listener Class ( Listens to user click Events on the surface board) • Box Class (Implements each of the nine square boxes on the surface board) • Client Class (Maintains its own GUI version)
  6. 6. Class Framework Cont.. • Player Class(Enable the clients to play the game independently) • Server Class(The server maintains the information about the Surface Board and Clients)
  7. 7. Implementation of Server • Via server we establish a connection using ServerSocket() • The server maintains the information about the surface board so it can determine whether a player’s move is a valid or invalid move.
  8. 8. Implementation of Server Cont.. • The game main logic is placed in Server class • Server class is the Main Class • Server waits for connection to connect two clients
  9. 9. ServerSocket • ServerSocket(Port Number , Clients); • Implements a socket that servers can use to listen for and accept connections to clients • A ServerSocket object establishes the port where a server waits for connections from clients.
  10. 10. ServerSocket Cont.. • The server assigns X to the first client to connect and O to second respectively • The second argument to the ServerSocket constructor specifies the number of clients that can wait for a connection and be processed by the server.
  11. 11. ServerSocket Cont.. • It performs some operation based on that request • Returns a result to the requester after processing
  12. 12. Implementation of Client • Sockets are initialized in Client as below – Socket connection = new Socket( server Address, port ); – Gets the socket's input and output stream and opens readers and writers on them. • Player X and Player O used in the game are both clients
  13. 13. Implementation of Client Cont.. • Each client applet maintains its own GUI version of the surface board on which it displays the state of the game • The clients can place a mark only in an empty square on the board
  14. 14. Implementation of Players • Runs a thread to handle Multi Players • Gets the socket's input and output stream and opens readers and writers on them. • Show messages from both Players X and O perspectives.
  15. 15. ServerSocket Client Server
  16. 16. Why we used Sockets in the Game ? • A socket is one endpoint of a two-way communication link between two programs running on the network • Stream-based connections are managed with Socket objects. • A Socket object connects a client to a server by specifying the server name and port number when creating the Socket object..
  17. 17. Note • Code and complete package is given. • Contact me at