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

📄 s_server.java

📁 书中的例题
💻 JAVA
字号:
import java.net.*;import java.io.*;
import java.awt.*;import java.awt.event.*;
class S_server extends Frame implements ActionListener,Runnable
{
	ServerSocket     s_socket;  //服务器端套接字
	Socket           c_socket;  //套接字
 	DataInputStream  in=null;   //数据输入流
	DataOutputStream out=null;  //数据输出流
	InputStream      in_data;   //接收到的输入流         
    OutputStream     out_data;  //发送的输出流
	int         i=0;            //计数(连接的客户数)
	String      str;
	TextArea    txt1;
	Button      btn;
	Panel       p;
 S_server()
   {
	  super("server");
   	  setSize(300,200);	  
	  setVisible(true);
	  txt1=new TextArea(5,4);  
	  add(txt1,BorderLayout.CENTER);
	  p=new Panel();	      
	  add(p,BorderLayout.NORTH);
	  btn=new Button("开始监听端口");
	  p.add(btn);	  
	  validate();
      btn.addActionListener(this);
	}
  public void actionPerformed(ActionEvent eee)
	{
	  try{
		  s_socket=new ServerSocket(4321);
		  while(true)
			{
   	        c_socket=s_socket.accept();
	         Thread t=new Thread(this);
			 t.start();
             i++;
            } 
		 }catch(IOException e){  }   
    }
    //线程
   public void run()
	{
      try { 
		 while(true)
		  {
	       in_data=c_socket.getInputStream();
           out_data=c_socket.getOutputStream();
	       in=new DataInputStream(in_data);
           out=new DataOutputStream(out_data);
		   out.writeUTF("Hello,我是服务器");
           str=in.readUTF();
           if (str.equals("end"))
			 {//接收到end信息,则断开连接
              in.close();
			  out.close();
			  c_socket.close();
             }
           txt1.append("第"+i+"个客户发来:"+str+"\n");
		   Thread.sleep(200);
		  } //while_end
	   }
	   catch(IOException e){  }   
	   catch(Exception ee){ }  //Thread_catch
    }
 public static void main(String[] args) 
  {
    new  S_server();
  }
}

⌨️ 快捷键说明

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