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

📄 client.java

📁 java 做的一个简单的CS系统
💻 JAVA
字号:
import java.net.*;
import java.io.*; 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*; 
public class Client
{
	  public static void main(String args[])
	  {  new QueryClient();
	  }
}
class QueryClient extends Frame implements Runnable,ActionListener,KeyListener
{  Button connection,send;
   TextField inputText;
   TextArea showResult;
   Socket socket1=null;
   DataInputStream in=null;
   DataOutputStream out=null;
   Thread thread; 
   QueryClient()
   {  socket1=new Socket();
      Panel p=new Panel();
      connection=new Button("连接服务器");
      send=new Button("发送");
      send.setEnabled(false);
      inputText=new TextField(8);
      showResult=new TextArea(6,42);
      p.add(connection);
      p.add(new Label("输入学号"));
      p.add(inputText);
      p.add(send);
      add(p,BorderLayout.NORTH);
      add(showResult,BorderLayout.CENTER);
      connection.addActionListener(this);
      inputText.addKeyListener(this);
      send.addActionListener(this);
      thread=new Thread(this); 
      setBounds(10,30,350,400);
      setVisible(true);
      validate();
      addWindowListener(new WindowAdapter() 
                   {  public void windowClosing(WindowEvent e)
                            {  System.exit(0);
                            }
                   });
   }
   public void keyReleased(KeyEvent e)
   { 
   }
   public void keyPressed(KeyEvent e)
   {  
   	  TextField text=(TextField)e.getSource();
   	  if(e.getKeyCode()==KeyEvent.VK_ENTER)
   	  {
	   	 String s=inputText.getText();
         if(s!=null)
           {  try { out.writeUTF(s);
                   }
              catch(IOException e1){} 
           }        
	  }
   }
   public void keyTyped(KeyEvent e)
   {
   }
   public void actionPerformed(ActionEvent e)
   {  if(e.getSource()==connection)
      {  try  
	     {     
	     	   String inputValue = JOptionPane.showInputDialog("请输入服务器端的IP地址:");
	     	   if(socket1.isConnected())
	     	   {
	     	       //JOptionPane.showConfirmDialog(this,"数据库已经连接!","警告",JOptionPane.OK_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE);
	     	   } 
	           else
	              { InetAddress  address=InetAddress.getByName(inputValue);//IP地址为服务器的IP地址。在本地上实验,
	              	                                                               //即本机既当作客户端又当作服务器,用“全0”
	                                                                               //的IP地址或者是以“127”开头的IP地址,或者用主机名都行。
	                
	                
	                InetSocketAddress socketAddress=new InetSocketAddress(address,4330); //三种构造法:InetSocketAddress(int port),InetSocketAddress(InetAddress addr,int port),InetSocketAddress(String hostname,int port)                     
                    socket1.connect(socketAddress); 
	                in =new DataInputStream(socket1.getInputStream());
	                out = new DataOutputStream(socket1.getOutputStream());
	                JOptionPane.showConfirmDialog(this,"已和服务器接通!","警告",JOptionPane.OK_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE);
	                send.setEnabled(true);
	                thread.start();
	              }
         } 
         catch (IOException ee){}
      }
      if(e.getSource()==send)
      {  String s=inputText.getText();
         if(s!=null)
           {  try { out.writeUTF(s);
                  }
              catch(IOException e1){} 
           }               
      }
   }
   public void run()
   {  String s=null;
      while(true)
       {    try{  s=in.readUTF();
                  showResult.append("\n"+s);
                }
           catch(IOException e) 
               {  showResult.setText("与服务器已断开");
                      break;
               }   
       }
  }
}

⌨️ 快捷键说明

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