⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guiserver.java

📁 java learn PPT java learn PPT java learn PPT java learn PPT
💻 JAVA
字号:
     import java.io.*;
     import java.awt.*;
     import java.applet.*;
     import java.net.*;

     // 一个简单的启动TCP连接的图形化服务器
     public abstract class GUIServer extends Applet implements Runnable
     {
          // 服务器连接的默认端口
          public static final int DEFAULT_PORT = 1234;

          // 服务端口   
          protected int port;

          // 监听服务请求的ServerSocket
          protected ServerSocket listener;

          // 服务器的执行线程
          protected Thread exec;

          // 用来打印服务器消息的 TextArea
          protected TextArea textArea;

          
          public void log(String msg)
          {
               if(textArea != null)
               {
                    textArea.append("Server: " + msg + "\n");
               }
          }
    
          // 创建监听连接的ServerSocket
          public void init() 
          {
               textArea = new TextArea();
               textArea.setEditable(false);
               add(textArea);

               port = Integer.parseInt(getParameter("Port"));
               
               if (port == 0)
               {
                    port = DEFAULT_PORT;
               }
        
               try
               {
                    listener = new ServerSocket(port); 
               }
               catch (IOException e) 
	       {
                    log("I/O exception creating server socket : " + e);
               }

               log("listening on port " + port);
          }

          public void start()
          {         
               exec = new Thread(this);   
               exec.start();
          }

          public void stop()
          {
               exec = null;
          }

          protected abstract void createService(Socket s);

          public void run() 
          {
               try
               {
                    Thread thread = Thread.currentThread();
                    while(exec == thread)
                    {
                         Socket clientSocket = listener.accept();
     
                         log("connected to " + clientSocket.getInetAddress() + 
                             " : " + clientSocket.getPort());
                    
                         createService(clientSocket);
                    
                         try 
                         {
                              Thread.sleep(25);
                         }
                         catch(InterruptedException e)
                         { }
                    }
               }
               catch (IOException e)
               {
                    log("I/O exception raised while listening for connections : " + e);
               }
         }

     }   // GUIServer   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -