server.java

来自「虚拟飞机订票系统」· Java 代码 · 共 71 行

JAVA
71
字号
package manager;

import java.io.*;
import java.net.*;
import java.util.*;
//机票预订服务端
public class Server
{
  public Server()
  {
    try{
      server=new ServerSocket(7450,100) ;
      while(true)
      {
        waitForConnection();//等待连接
        getStreams();//创建输入流 输出流
        processConnection();//处理
        closeConnection();//关闭连接
        ++counter;
      }
    }
    catch(Exception e){}
  }
  private void waitForConnection() throws IOException
  {
    socket=server.accept();
    ManagerFrame.jTextArea1.append(new java.util.Date()+":\n"
                                   +socket.getInetAddress().getHostAddress()
                                   +" connect..\n");
  }
  private void getStreams() throws IOException
  {
    output=new ObjectOutputStream(socket.getOutputStream()) ;
    output.flush() ;
    input=new ObjectInputStream(socket.getInputStream()) ;
  }
  private void processConnection() throws IOException
  {
        try
        {
          message =(String)input.readObject();
          analyse a=new analyse();
          ArrayList result=a.analyse(message);
          sendData(result);
        }
        catch (Exception e) {}
  }
  private void closeConnection() throws IOException
  {
    output.close() ;
    input.close() ;
    socket.close() ;
    System.out.println("关闭客户连接"+counter) ;
  }
  public void sendData(ArrayList message)
  {
    try{
      output.writeObject(message);
      output.flush() ;
    }
    catch(Exception e){}
  }
  private int counter=1;
  private ObjectOutputStream output;
  private ObjectInputStream input;
  private ServerSocket server;
  private Socket socket;
  public boolean flag=true;
  private String message;
}

⌨️ 快捷键说明

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