importjava.net.*;importjava.io.*;importjava.util.*;publicclassmyServer{publicstaticArrayListsocketList=newArrayList();//publicstaticvoidmain(String[...
import java.net.*;
import java.io.*;
import java.util.*;
public class myServer {
public static ArrayList socketList = new ArrayList(); //
public static void main(String[] args) throws IOException {
ServerSocket ss = new ServerSocket(3000); //TCP协议在3000端口生成服务器,进程在哪个机器上用就默认该机器IP
while (true)
{
Socket s = ss.accept(); // 实现accept()方法
socketList.add(s); //循环连接
new Thread(new ServerThread(s)).start(); //启动新线程
}
}
}
class ServerThread implements Runnable {
Socket s = null;
DataInputStream dataIn = null;
public ServerThread(Socket s) throws IOException {
this.s = s;
dataIn = new DataInputStream(s.getInputStream());
}
public void run() {
try {
String content = null;
while ((content = readFromClient()) != null) { //判断读取内容
//遍历
for (Socket s : Foo.socketList) {
DataOutputStream ps = new DataOutputStream(s
.getOutputStream());
ps.writeUTF(content);
ps.flush();
}
}
} catch (IOException e) {
}
}
private String readFromClient() {
try {
return dataIn.readUTF();
} catch (IOException e) {
Foo.socketList.remove(s);
}
return null;
}
}
展开