📄 myserver.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 + -