package com.mww.server;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Vector;
/*
* 服务端
*/
public class server extends Thread{
public static Socket client =null;
//设定一个集合用来存放 用户的 IP信息 和 端口号
private static Vector<Socket> vec = new Vector<Socket>();//用Vector存储
public static void main(String[] args) throws Exception{
//开辟一个 服务器对象 并指定 端口为 8888
ServerSocket server = new ServerSocket(8888); //服务端开启一个用于连接的端口
while(true)
{
client = server.accept();//侦听并接受到此套接字的连接。 来连接服务器端口的用户信息
System.out.println(client);//打印端口信息
vec.add(client); //将client添加到 vec
System.out.println(vec.size());
new server().start();
}
}
public void run() {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
String clientMessage="";
while((clientMessage=br.readLine())!=null){
for (int i = 0; i < vec.size(); i++) {
PrintWriter out = new PrintWriter(vec.get(i).getOutputStream());
out.println("from server:"+clientMessage);
//--用于记录传过来的信息---------------------------------------------
File file=new File("Server.txt");
if(file.exists())
{
file.createNewFile();
}
FileWriter fw=new FileWriter(file);
BufferedWriter bw=new BufferedWriter(fw);
bw.write(clientMessage);
bw.write(client.toString());
bw.close();
fw.close();
//--用于记录传过来的信息---------------------------------------------
out.flush();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}