<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FNetwork%2FServerSocket</id>
		<title>Java Tutorial/Network/ServerSocket - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FNetwork%2FServerSocket"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Network/ServerSocket&amp;action=history"/>
		<updated>2026-04-22T01:28:39Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Network/ServerSocket&amp;diff=4592&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Network/ServerSocket&amp;diff=4592&amp;oldid=prev"/>
				<updated>2010-06-01T05:03:23Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 05:03, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Network/ServerSocket&amp;diff=4591&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Network/ServerSocket&amp;diff=4591&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  A multithreaded Socket Server ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.BufferedReader;&lt;br /&gt;
import java.io.InputStreamReader;&lt;br /&gt;
import java.io.OutputStreamWriter;&lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
import java.net.ServerSocket;&lt;br /&gt;
import java.net.Socket;&lt;br /&gt;
public class EchoServer {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    ServerSocket m_ServerSocket = new ServerSocket(12111);&lt;br /&gt;
    int id = 0;&lt;br /&gt;
    while (true) {&lt;br /&gt;
      Socket clientSocket = m_ServerSocket.accept();&lt;br /&gt;
      ClientServiceThread cliThread = new ClientServiceThread(clientSocket, id++);&lt;br /&gt;
      cliThread.start();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class ClientServiceThread extends Thread {&lt;br /&gt;
  Socket clientSocket;&lt;br /&gt;
  int clientID = -1;&lt;br /&gt;
  boolean running = true;&lt;br /&gt;
  ClientServiceThread(Socket s, int i) {&lt;br /&gt;
    clientSocket = s;&lt;br /&gt;
    clientID = i;&lt;br /&gt;
  }&lt;br /&gt;
  public void run() {&lt;br /&gt;
    System.out.println(&amp;quot;Accepted Client : ID - &amp;quot; + clientID + &amp;quot; : Address - &amp;quot;&lt;br /&gt;
        + clientSocket.getInetAddress().getHostName());&lt;br /&gt;
    try {&lt;br /&gt;
      BufferedReader   in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));&lt;br /&gt;
      PrintWriter   out = new PrintWriter(new OutputStreamWriter(clientSocket.getOutputStream()));&lt;br /&gt;
      while (running) {&lt;br /&gt;
        String clientCommand = in.readLine();&lt;br /&gt;
        System.out.println(&amp;quot;Client Says :&amp;quot; + clientCommand);&lt;br /&gt;
        if (clientCommand.equalsIgnoreCase(&amp;quot;quit&amp;quot;)) {&lt;br /&gt;
          running = false;&lt;br /&gt;
          System.out.print(&amp;quot;Stopping client thread for client : &amp;quot; + clientID);&lt;br /&gt;
        } else {&lt;br /&gt;
          out.println(clientCommand);&lt;br /&gt;
          out.flush();&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      e.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Compressed socket ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.net.ServerSocket;&lt;br /&gt;
import java.net.Socket;&lt;br /&gt;
import java.util.zip.GZIPInputStream;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    ServerSocket ssock = new ServerSocket(Integer.parseInt(args[0]));&lt;br /&gt;
    Socket sock = ssock.accept();&lt;br /&gt;
    GZIPInputStream zip = new GZIPInputStream(sock.getInputStream());&lt;br /&gt;
    while (true) {&lt;br /&gt;
      int c;&lt;br /&gt;
      c = zip.read();&lt;br /&gt;
      if (c == -1)&lt;br /&gt;
        break;&lt;br /&gt;
      System.out.print((char) c);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Create a ServerSocket ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.net.ServerSocket;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    try {&lt;br /&gt;
      ServerSocket server = new ServerSocket(0);&lt;br /&gt;
      System.out.println(&amp;quot;This server runs on port &amp;quot; + server.getLocalPort());&lt;br /&gt;
    } catch (IOException ex) {&lt;br /&gt;
      System.err.println(ex);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Data server ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.DataOutputStream;&lt;br /&gt;
import java.net.ServerSocket;&lt;br /&gt;
import java.net.Socket;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    ServerSocket ssock = new ServerSocket(1234);&lt;br /&gt;
    while (true) {&lt;br /&gt;
      System.out.println(&amp;quot;Listening&amp;quot;);&lt;br /&gt;
      Socket sock = ssock.accept();&lt;br /&gt;
      DataOutputStream dstream = new DataOutputStream(sock.getOutputStream());&lt;br /&gt;
      dstream.writeFloat(3.14159265f);&lt;br /&gt;
      dstream.close();&lt;br /&gt;
      sock.close();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Generic Server ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.BufferedOutputStream;&lt;br /&gt;
import java.io.FilterInputStream;&lt;br /&gt;
import java.io.FilterOutputStream;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.InputStream;&lt;br /&gt;
import java.io.OutputStream;&lt;br /&gt;
import java.net.ServerSocket;&lt;br /&gt;
import java.net.Socket;&lt;br /&gt;
public class GenericServer {&lt;br /&gt;
   public static void main(String args[]) {&lt;br /&gt;
    int serverPort = 1234;&lt;br /&gt;
    try {&lt;br /&gt;
      ServerSocket server = new ServerSocket(serverPort);&lt;br /&gt;
      do {&lt;br /&gt;
        Socket client = server.accept();&lt;br /&gt;
        (new ServerThread(client)).start();&lt;br /&gt;
      } while (true);&lt;br /&gt;
    } catch (IOException ex) {&lt;br /&gt;
      System.exit(0);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class ServerThread extends Thread {&lt;br /&gt;
  Socket client;&lt;br /&gt;
  public ServerThread(Socket client) {&lt;br /&gt;
    this.client = client;&lt;br /&gt;
  }&lt;br /&gt;
  public void run() {&lt;br /&gt;
    try {&lt;br /&gt;
      ServiceOutputStream outStream = new ServiceOutputStream(new BufferedOutputStream(client&lt;br /&gt;
          .getOutputStream()));&lt;br /&gt;
      ServiceInputStream inStream = new ServiceInputStream(client.getInputStream());&lt;br /&gt;
      ServiceRequest request = inStream.getRequest();&lt;br /&gt;
      while (processRequest(outStream)) {&lt;br /&gt;
      }&lt;br /&gt;
      client.close();&lt;br /&gt;
    } catch (IOException ex) {&lt;br /&gt;
      System.exit(0);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public boolean processRequest(ServiceOutputStream outStream) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class ServiceInputStream extends FilterInputStream {&lt;br /&gt;
  public ServiceInputStream(InputStream in) {&lt;br /&gt;
    super(in);&lt;br /&gt;
  }&lt;br /&gt;
  public ServiceRequest getRequest() throws IOException {&lt;br /&gt;
    ServiceRequest request = new ServiceRequest();&lt;br /&gt;
    return request;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class ServiceOutputStream extends FilterOutputStream {&lt;br /&gt;
  public ServiceOutputStream(OutputStream out) {&lt;br /&gt;
    super(out);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class ServiceRequest {&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get IP address from NetworkInterface and create server socket ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
import java.net.NetworkInterface;&lt;br /&gt;
import java.net.ServerSocket;&lt;br /&gt;
import java.net.Socket;&lt;br /&gt;
import java.util.Enumeration;&lt;br /&gt;
public class Main {&lt;br /&gt;
  static public void main(String args[]) throws Exception {&lt;br /&gt;
    int port = 80;&lt;br /&gt;
    NetworkInterface ni = NetworkInterface.getByName(&amp;quot;name&amp;quot;);&lt;br /&gt;
    Enumeration e = ni.getInetAddresses();&lt;br /&gt;
    if (!e.hasMoreElements())&lt;br /&gt;
      return;&lt;br /&gt;
    InetAddress ia = (InetAddress) e.nextElement();&lt;br /&gt;
    ServerSocket ss = new ServerSocket(port, 20, ia);&lt;br /&gt;
    System.out.println(&amp;quot;Listening&amp;quot;);&lt;br /&gt;
    Socket s = ss.accept();&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Hello Server ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.OutputStream;&lt;br /&gt;
import java.net.ServerSocket;&lt;br /&gt;
import java.net.Socket;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws IOException {&lt;br /&gt;
    int port = 2345;&lt;br /&gt;
    ServerSocket ss = new ServerSocket(port);&lt;br /&gt;
    while (true) {&lt;br /&gt;
      try {&lt;br /&gt;
        Socket s = ss.accept();&lt;br /&gt;
        String response = &amp;quot;Hello &amp;quot; + s.getInetAddress() + &amp;quot; on port &amp;quot; + s.getPort() + &amp;quot;\r\n&amp;quot;;&lt;br /&gt;
        response += &amp;quot;This is &amp;quot; + s.getLocalAddress() + &amp;quot; on port &amp;quot; + s.getLocalPort() + &amp;quot;\r\n&amp;quot;;&lt;br /&gt;
        OutputStream out = s.getOutputStream();&lt;br /&gt;
        out.write(response.getBytes(&amp;quot;US-ASCII&amp;quot;));&lt;br /&gt;
        out.flush();&lt;br /&gt;
        s.close();&lt;br /&gt;
      } catch (IOException ex) {&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Logging Server based on SocketServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.BufferedReader;&lt;br /&gt;
import java.io.InputStream;&lt;br /&gt;
import java.io.InputStreamReader;&lt;br /&gt;
import java.net.ServerSocket;&lt;br /&gt;
import java.net.Socket;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    ServerSocket serverSocket = new ServerSocket(8080);&lt;br /&gt;
    Socket socket = serverSocket.accept();&lt;br /&gt;
    InputStream inStream = socket.getInputStream();&lt;br /&gt;
    BufferedReader reader = new BufferedReader(new InputStreamReader(inStream));&lt;br /&gt;
    String str = null;&lt;br /&gt;
    while ((str = reader.readLine()) != null) {&lt;br /&gt;
      System.out.println(str);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Object server ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.ObjectOutputStream;&lt;br /&gt;
import java.net.ServerSocket;&lt;br /&gt;
import java.net.Socket;&lt;br /&gt;
import java.util.Hashtable;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    ServerSocket ssock = new ServerSocket(1234);&lt;br /&gt;
    Hashtable hash = new Hashtable();&lt;br /&gt;
    hash.put(&amp;quot;A&amp;quot;, &amp;quot;a&amp;quot;);&lt;br /&gt;
    while (true) {&lt;br /&gt;
      Socket sock = ssock.accept();&lt;br /&gt;
      ObjectOutputStream ostream = new ObjectOutputStream(sock.getOutputStream());&lt;br /&gt;
      ostream.writeObject(hash);&lt;br /&gt;
      ostream.close();&lt;br /&gt;
      sock.close();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Thread based ServerSocket ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.BufferedOutputStream;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.OutputStream;&lt;br /&gt;
import java.net.ServerSocket;&lt;br /&gt;
import java.net.Socket;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws IOException {&lt;br /&gt;
    int port = 9000;&lt;br /&gt;
    ServerSocket server = new ServerSocket(port);&lt;br /&gt;
    while (true) {&lt;br /&gt;
      Socket socket = server.accept();&lt;br /&gt;
      Thread stuffer = new StuffThread(socket);&lt;br /&gt;
      stuffer.start();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class StuffThread extends Thread {&lt;br /&gt;
  private byte[] data = new byte[255];&lt;br /&gt;
  private Socket socket;&lt;br /&gt;
  public StuffThread(Socket socket) {&lt;br /&gt;
    for (int i = 0; i &amp;lt; data.length; i++)&lt;br /&gt;
      data[i] = (byte) i;&lt;br /&gt;
    this.socket = socket;&lt;br /&gt;
  }&lt;br /&gt;
  public void run() {&lt;br /&gt;
    try {&lt;br /&gt;
      OutputStream out = new BufferedOutputStream(socket.getOutputStream());&lt;br /&gt;
      while (!socket.isClosed()) {&lt;br /&gt;
        out.write(data);&lt;br /&gt;
      }&lt;br /&gt;
      socket.close();&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Timer server with Thread ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.BufferedOutputStream;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
import java.net.ServerSocket;&lt;br /&gt;
import java.net.Socket;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
public class TimeServer extends Thread {&lt;br /&gt;
  private ServerSocket sock;&lt;br /&gt;
  public TimeServer() throws Exception {&lt;br /&gt;
    sock = new ServerSocket(55555);&lt;br /&gt;
  }&lt;br /&gt;
  public void run() {&lt;br /&gt;
    Socket client = null;&lt;br /&gt;
    while (true) {&lt;br /&gt;
      if (sock == null)&lt;br /&gt;
        return;&lt;br /&gt;
      try {&lt;br /&gt;
        client = sock.accept();&lt;br /&gt;
        BufferedOutputStream bos = new BufferedOutputStream(client.getOutputStream());&lt;br /&gt;
        PrintWriter os = new PrintWriter(bos, false);&lt;br /&gt;
        String outLine;&lt;br /&gt;
        Date now = new Date();&lt;br /&gt;
        os.println(now);&lt;br /&gt;
        os.flush();&lt;br /&gt;
        os.close();&lt;br /&gt;
        client.close();&lt;br /&gt;
      } catch (IOException e) {&lt;br /&gt;
        System.out.println(&amp;quot;Error: couldn&amp;quot;t connect to client.&amp;quot;);&lt;br /&gt;
        System.exit(1);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] arguments) throws Exception {&lt;br /&gt;
    TimeServer server = new TimeServer();&lt;br /&gt;
    server.start();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Time server ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.OutputStream;&lt;br /&gt;
import java.net.ServerSocket;&lt;br /&gt;
import java.net.Socket;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    int port = 37;&lt;br /&gt;
    ServerSocket server = new ServerSocket(port);&lt;br /&gt;
    while (true) {&lt;br /&gt;
      Socket connection = null;&lt;br /&gt;
      connection = server.accept();&lt;br /&gt;
      OutputStream out = connection.getOutputStream();&lt;br /&gt;
      out.write(123);&lt;br /&gt;
      out.flush();&lt;br /&gt;
      connection.close();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Zip server socket ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.InputStream;&lt;br /&gt;
import java.io.OutputStream;&lt;br /&gt;
import java.util.zip.ZipInputStream;&lt;br /&gt;
import java.util.zip.ZipOutputStream;&lt;br /&gt;
import java.net.Socket;&lt;br /&gt;
 &lt;br /&gt;
class ZipSocket extends Socket {&lt;br /&gt;
    private InputStream in;&lt;br /&gt;
    private OutputStream out;&lt;br /&gt;
    public ZipSocket() { super(); }&lt;br /&gt;
    public ZipSocket(String host, int port) &lt;br /&gt;
        throws IOException {&lt;br /&gt;
        super(host, port);&lt;br /&gt;
    }&lt;br /&gt;
    public InputStream getInputStream() &lt;br /&gt;
        throws IOException {&lt;br /&gt;
        if (in == null) {&lt;br /&gt;
            in = new ZipInputStream(super.getInputStream());&lt;br /&gt;
        }&lt;br /&gt;
        return in;&lt;br /&gt;
    }&lt;br /&gt;
    public OutputStream getOutputStream() &lt;br /&gt;
        throws IOException {&lt;br /&gt;
        if (out == null) {&lt;br /&gt;
            out = new ZipOutputStream(super.getOutputStream());&lt;br /&gt;
        }&lt;br /&gt;
        return out;&lt;br /&gt;
    }&lt;br /&gt;
   &lt;br /&gt;
    public synchronized void close() throws IOException {&lt;br /&gt;
        OutputStream o = getOutputStream();&lt;br /&gt;
        o.flush();&lt;br /&gt;
  super.close();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
import java.net.ServerSocket;&lt;br /&gt;
import java.net.Socket;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
public class ZipServerSocket extends ServerSocket&lt;br /&gt;
{&lt;br /&gt;
  public ZipServerSocket(int port) throws IOException&lt;br /&gt;
  { &lt;br /&gt;
  super(port);&lt;br /&gt;
  }&lt;br /&gt;
  public Socket accept() throws IOException&lt;br /&gt;
  { &lt;br /&gt;
     Socket socket = new ZipSocket();&lt;br /&gt;
     implAccept(socket);&lt;br /&gt;
     return socket;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>