📄 server.java
字号:
package CalculateProgram;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.*;
class Server extends JFrame{
ServerSocket serverSock;
Socket sock;
JTextArea t1 = new JTextArea();
DataOutputStream out;
DataInputStream in;
String name;
public Server(){
try{
serverSock = new ServerSocket(6003);
}
catch(IOException e){
JOptionPane.showMessageDialog(null,"服务器启动失败!");
return;
}
JScrollPane jsp = new JScrollPane(t1);
this.getContentPane().add(jsp,"Center");
JPanel p1 = new JPanel();
this.getContentPane().add(p1,"South");
setTitle("服务器");
setSize(340,200);
setVisible(true);
try{
sock = serverSock.accept();
out = new DataOutputStream(sock.getOutputStream());
in = new DataInputStream(sock.getInputStream());
out.writeUTF("你连接服务器成功");
Communion2 th = new Communion2(this);
th.start();
}
catch(Exception e){}
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
try{
out.writeUTF("bye");
}
catch(Exception ee){}
dispose();
System.exit(0);
}
});
}
class Communion2 extends Thread{
Server server;
Communion2(Server server){
this.server = server;
}
public void run(){
String msg = null;
double result;
while(true){
try{
msg = server.in.readUTF();
server.t1.append("客户说:"+msg+"\n");
result = calculate(msg);
out.writeUTF(String.valueOf(result));
}
catch(Exception e){
break;
}
}
try{
server.out.close();
server.in.close();
server.sock.close();
server.serverSock.close();
}
catch(Exception e){}
}
public double calculate(String message){
String[] str = message.split(",");
double num1 = Double.parseDouble(str[0]);
double num2 = Double.parseDouble(str[1]);
if(str[2].equals("+")){
return num1+num2;
}else if(str[2].equals("-")){
return num1-num2;
}else if(str[2].equals("*")){
return num1*num2;
}else{
return num1/num2;
}
}
}
public static void main(String[] args) {
Server mainFrame = new Server();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -