public void begin() {
		final ObjectInputStream in;
		final ObjectOutputStream out;
		try {
			in = new ObjectInputStream(socket.getInputStream());
			out = new ObjectOutputStream(socket.getOutputStream());
			Thread input = new Thread() {
				@Override
				public void run() {
					 while(true) {
						 readMessage(in);
						 if(kill) return;
					}
				}
			};
			input.setDaemon(true);
			input.start();
			Thread output = new Thread() {
				@Override
				public void run() {
					 while(true) {
						 writeMessages(out);
						 if(kill) return;
					}
				}
			};
			output.setDaemon(true);
			output.start();
		} catch (IOException e) {
			kill();
		}
		
	 }