标签:
public class MyServer {
public static void main(String[] args) {
//创建服务器端
try {
ServerSocket server=new ServerSocket(9999);
//创建集合对象存放连接的客户端
final List<Socket> list=new ArrayList<Socket>();
//循环接受客户端
while(true)
{
final Socket client = server.accept();
//并将客户端添加到集合中,方便管理客户端
list.add(client);
//创建子线程来接受客户端的发送的消息,从而保证主线程的运行
new Thread(){
public void run() {
//接受客户端的消息
try {
BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream(), "gbk"));
while(true)
{
String data = br.readLine();
//将读取的客户端的信息转发给其他客户端
for(Socket cs:list)
{
if(cs != client)
{
//向其他客户端发送消息
PrintWriter pw=new PrintWriter(cs.getOutputStream());
pw.println(data);
pw.flush();
}
}
}
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
};
}.start();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
标签:
原文地址:http://www.cnblogs.com/8023-itxinde/p/5129765.html