Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package se.dalsit.net;
- import java.io.EOFException;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.io.Serializable;
- import java.net.Socket;
- import java.security.acl.Owner;
- import java.util.ArrayList;
- import javax.swing.JOptionPane;
- import se.dalsit.net.Packet.NewConnection;
- public class Client implements Runnable {
- public static void main (String args [] ) {
- new Client();
- }
- private static final long serialVersionUID = 1L;
- private Socket socket;
- private final static String CLIENTSTRING = "[CLIENT]: ";
- private ObjectInputStream objectReader;
- private ObjectOutputStream objectWriter;
- private Player player;
- private ArrayList<Player> playerList = new ArrayList<Player>();
- private Thread clientThread;
- Object o = null;
- public Client() {
- setUpConnection();
- }
- private void setUpConnection() {
- try {
- socket = new Socket(
- JOptionPane.showInputDialog("Connect to host, enter IP"),
- 4242);
- objectReader = new ObjectInputStream(socket.getInputStream());
- objectWriter = new ObjectOutputStream(socket.getOutputStream());
- readPlayer(objectReader);
- try {
- ArrayList<Player> temp = (ArrayList) objectReader.readObject();
- playerList = temp;
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- }
- System.out.println(CLIENTSTRING + "Player ID: " + player.x + " playerslist " + playerList.size());
- //Window.clientArea.append(CLIENTSTRING + "Player ID: " + player.x + " ,Size of list: " + playerList.size()+ "\n");
- clientThread = new Thread (this, "Thread for player ID: " + player.x);
- clientThread.start();
- //Sends a packet telling its a new connection
- objectWriter.writeObject(new Packet.NewConnection());
- System.out.println(CLIENTSTRING + "Started");
- //Window.clientArea.append(CLIENTSTRING + "Started" + "\n");
- } catch (IOException e) {
- //Window.clientArea.append(CLIENTSTRING + "No server running on that IP" + "\n");
- System.out.println(CLIENTSTRING + "NO SERVER RUNNING ON THAT IP");
- e.printStackTrace();
- }
- }
- private void readPlayer(ObjectInputStream or) {
- try {
- player = (Player) or.readObject();
- System.out.println(CLIENTSTRING + "Player ID: " + player.x );
- //Window.clientArea.append(CLIENTSTRING + "Player ID: " + player.x + "\n");
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- public void run() {
- try {
- while ((o = objectReader.readObject()) != null) {
- ArrayList<Player> tempList = (ArrayList<Player>) o;
- playerList = tempList;
- System.out.println(CLIENTSTRING + "read object from server" +" Size is : " + playerList.size() );
- //Window.clientArea.append(CLIENTSTRING+"read object from server" +" Size is : " + playerList.size() + "\n");
- }
- }catch (Exception ex) {
- ex.printStackTrace();
- }
- }
- public Player getPlayer() {
- return player;
- }
- public void setPlayer(Player player) {
- this.player = player;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement