szd.SocketGame
Class Server

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by szd.SocketGame.Server
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class Server
extends javax.swing.JDialog

Socket alapú kapcsolatnak szerver oldalát megvalósító osztály. A szervert egy felugrú JDialog ablak segítségével tudjuk konfigurálni amely az IP címünk automatikusan beállítódik a serverAddressField mezőbe, a portot pedig a serverPortField mezőbe tudjuk megadni. A startServerButton gombbal elindítható a szerver és egy új ServerServiceThread szál a háttérben, amely kezeli a hálózati kommunikációt a szerver és a kliens között.

Author:
Hucker Dávid
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  javax.swing.JButton closeButton
           
private  java.net.ServerSocket server
          Maga az aktuális szerver.
private  java.lang.String serverAddress
          A saját IP címünket tartalmazza *.*.*.
private  javax.swing.JTextField serverAddressField
           
private  javax.swing.JLabel serverAddressLabel
           
private  int serverPort
          A szerver ezen a porton várja a csomagokat, alapértelmezett értéke 9000.
private  javax.swing.JTextField serverPortField
           
private  javax.swing.JLabel serverPortLabel
           
private  javax.swing.JButton startServerButton
           
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPE
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Server(java.awt.Frame parent)
          Publikus konstruktor amely előhozza a csatlakozás beállításához és elindításához szükséges JDialog ablakot, beállítja a serverAddressField értékét az aktuális IP címünkre és beállítja az alapértelmezett kilépés módját.
 
Method Summary
 java.net.ServerSocket getServer()
           
private  void initComponents()
           
private  void serverPortFieldCaretUpdate(javax.swing.event.CaretEvent evt)
          CaretListener, amely figyeli hogy a serverPortField mező értéke változik-e, és ha igen, akkor a mező értékét elmenti a serverPort attribútumba.
 void startServer()
          Akkor hívodik meg, amikor megnyomjuk a startServerButton gombot.
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setModalityType, setResizable, setTitle, setUndecorated, setVisible, show, toBack
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serverAddress

private java.lang.String serverAddress
A saját IP címünket tartalmazza *.*.*.* formában, amely automatikusan beállítódik, ez lesz a szerver IP címe.


serverPort

private int serverPort
A szerver ezen a porton várja a csomagokat, alapértelmezett értéke 9000.


closeButton

private javax.swing.JButton closeButton

server

private java.net.ServerSocket server
Maga az aktuális szerver.


serverAddressField

private javax.swing.JTextField serverAddressField

serverAddressLabel

private javax.swing.JLabel serverAddressLabel

serverPortField

private javax.swing.JTextField serverPortField

serverPortLabel

private javax.swing.JLabel serverPortLabel

startServerButton

private javax.swing.JButton startServerButton
Constructor Detail

Server

public Server(java.awt.Frame parent)
Publikus konstruktor amely előhozza a csatlakozás beállításához és elindításához szükséges JDialog ablakot, beállítja a serverAddressField értékét az aktuális IP címünkre és beállítja az alapértelmezett kilépés módját.

Parameters:
parent - Az a JFrame, amely a mi dialógusablakunkat tartalmazza.
Method Detail

initComponents

private void initComponents()

serverPortFieldCaretUpdate

private void serverPortFieldCaretUpdate(javax.swing.event.CaretEvent evt)
CaretListener, amely figyeli hogy a serverPortField mező értéke változik-e, és ha igen, akkor a mező értékét elmenti a serverPort attribútumba.

Parameters:
evt - A serverPortField mezőn végrehajtott akció.

startServer

public void startServer()
Akkor hívodik meg, amikor megnyomjuk a startServerButton gombot. Inicializálja a server-t a megadott serverPort-on, erről tájékoztatja a felhasználót, és elindít egy új ServerServiceThread szálat amely majd kezeli a kommunikációt, és beállítja a readFromClient és a writeForClient értékeit, kilép a szervert konfiguráló ablakból és ha minden rendben tájékoztatja a felhasználót hogy várakozik a kliens csatlakozására, Ha valami hiba keletkezik a szerver létrehozása közben akkor arról is tájékoztatja a felhasználót.


getServer

public java.net.ServerSocket getServer()
Returns:
the server