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