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

📄 myserver.java

📁 一个java开发的海运系统
💻 JAVA
字号:
package sun.com.service.impl;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Container;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

import javax.print.attribute.standard.Severity;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

import sun.com.serve.IServiceImpl;
import sun.com.service.impl.Servers.ReadText;

public class Myserver extends JFrame implements ActionListener {
	class  ReadText extends Thread implements IServiceImpl{
		 //从网络读数据
		  public void run(){
	               
		  	      try{
		  			  
		  			 BufferedReader br = new BufferedReader(new InputStreamReader(skt.getInputStream()));		
		 			 for(;;){
		 				text.append("\n"+"Server Say:" + br.readLine()+"\n");
		 			}
		  		   }catch(Exception e){
		  			   e.printStackTrace();
		  		    text.append("\n对方断线!");
		  	   
		  	  }
		  }
	}
	public void work(){
		
	 
		 new ReadText().start();//启动从网络中读取的线程
	 }

	 private TextField porttext;
	  private TextArea text;
	  Button send;
	  Button selectFile;
	  JTextField sendtext;
	  ServerSocket server;
	  private Socket skt;
	  Container con;
	  Button Start;//打开服务器按钮
	  JPanel jpan1;
	  File files=null;
	  
    public Myserver(){
    	super();
	    con=this.getContentPane();
		this.setBounds(100, 100, 400, 400);
//		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		jpan1=new JPanel();
		JLabel port=new JLabel("端口号:");
		porttext=new TextField(5);
		Start=new Button("Start");
		con.add(jpan1,BorderLayout.NORTH);
		
		jpan1.setLayout(new BorderLayout());
		jpan1.add(port,BorderLayout.LINE_START);
		jpan1.add(porttext,BorderLayout.CENTER);
		jpan1.add(Start,BorderLayout.EAST);
		
		
		text=new TextArea();
		con.add(text,BorderLayout.CENTER);
		
		JPanel jpan3=new JPanel();
		con.add(jpan3,BorderLayout.SOUTH);
		jpan3.setLayout(new BorderLayout());
		send=new Button("SEND");
//		selectFile=new Button("Select");
		sendtext=new JTextField();
//    	jpan3.add(selectFile,BorderLayout.LINE_START);
		jpan3.add(sendtext,BorderLayout.CENTER);
		jpan3.add(send,BorderLayout.LINE_END);
		Start.addActionListener(this);
		send.addActionListener(this);
//		selectFile.addActionListener(this);
		
	}

public void actionPerformed(ActionEvent e) {
		if(e.getSource().equals(Start)){	
			try {
				 ServerSocket server = new ServerSocket(Integer.parseInt(porttext.getText()));
				 text.append("Loading Server....."+"\n");
				 skt = server.accept();
				 server.setSoTimeout(1000);//设置服务器超时的时间
		       } catch (Exception  ee) {
		         JOptionPane.showMessageDialog(null, "Error Port!","Error",JOptionPane.ERROR_MESSAGE);	//判断端口是否正确			
			     return;
		      }
			    this.work();
				
				text.append("Connecting to:"+skt.getInetAddress().getHostName()+"\n");
				
				new ServerFile().start();
			
		}
//		if(e.getSource().equals(selectFile)){
//		    
//	        PrintWriter pw;
//	        JFileChooser je=new JFileChooser("d:/");
//	        je.setMultiSelectionEnabled(true);//表示可以多选文件
//	        int value=je.showOpenDialog(this);
//	        
//	    if(value==0){
//		    files=je.getSelectedFile(); 
//		    
//		try {
//			pw = new PrintWriter(skt.getOutputStream());
//			pw.print(files);
//			pw.close();
//			
//		} catch (Exception e1) {
//			JOptionPane.showMessageDialog(null, "File Send Error","Error",JOptionPane.ERROR_MESSAGE);
//			return;
//		}
//		
//     }
//}
		
	}
   public static void main(String[] args) {
	   Myserver m=new Myserver();
	   m.setVisible(true);
}
}

⌨️ 快捷键说明

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