📄 test6server.java
字号:
import java.io.*;
import java.net.*;
public class test6Server implements Runnable
{
static int arrivsum[]={0,0,0,0,0,0,0,0,0,0};//保存出勤的次数
static int leavsum[]={0,0,0,0,0,0,0,0,0,0};//保存离开的次数
static int counter=0;//用来计算是否全部人已离开
int receivsum=0;
Socket socket;
public test6Server(Socket serve)
{
socket =serve;
}
public static void main(String args[])
{
int MaxClientNum=10;//最大的客户端数量
try
{
ServerSocket server =new ServerSocket(7000);//建立Server Socket
for (int i=0;i<MaxClientNum ;i++ )
{
Socket socket =server.accept();
Thread t=new Thread(new test6Server(socket)); //连接建立,创建一个Server端线程与Client 端通信
t.start();//线程就绪
}//end for
server.close();
} catch (Exception e)
{
System.out.println("Error:"+e);
}
}//end main
public void run()//服务端通信的线程体
{
try
{
BufferedReader in =new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out=new PrintWriter (socket.getOutputStream());
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
String s;
while(true)
{
if ((s=in.readLine()).equals("arrive"))
{
receivsum=Integer.parseInt(in.readLine());
System.out.println("员工 "+receivsum+":"+s);
arrivsum[receivsum-1]=arrivsum[receivsum-1]+1;
counter++;
out.println("确认出勤");
out.flush();
}//end if
if (s.equals("leave"))
{
receivsum=Integer.parseInt(in.readLine());
System.out.println("员工 "+receivsum+":"+s);
leavsum[receivsum-1]=leavsum[receivsum-1]+1;
counter--;
out.println("确认离开");
out.flush();
}
if (s.equals("close"))
{
System.out.println("与客户端: "+receivsum+" 的连接已关闭!");
}
if (counter==0)
{
System.out.println("所有员工都已经离开了公司,现在可以关闭服务器了!");
break;
}
}//end while
in.close();
out.close();
socket.close();
FileWriter fileout=new FileWriter("memberfile.txt");//创建保存数据的文件
for (int i=0;i<arrivsum.length ;i++ )
{
fileout.write((i+1)+"号员工出勤次数:"+arrivsum[i]+" ");//把员工出勤次数写入文件中去
fileout.write((i+1)+"号员工离开次数:"+leavsum[i]+" "); //把员工离开次数写入到文件中
}
fileout.close();
}catch (Exception e)
{
;
}
}//end run
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -