---------------------------------------------------------------------------------服务器端——-------------------------------------------------------------------------------
package org.demo.net.socket;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
public class Server {
// 容器
private List<Channel> allSockets = new ArrayList<Channel>();
public static void main(String[] args) throws IOException {
new Server().start();
}
public void start() throws IOException {
ServerSocket server = new ServerSocket(8888);
while (true) {
Socket socket = server.accept();
Channel channel = new Channel(socket);
allSockets.add(channel);// 将管道添加到容器中去
new Thread(channel).start();// 一条道路
}
}
// 一个客服端一条道路
class Channel implements Runnable {
private DataOutputStream dos;
private DataInputStream dis;
private boolean isRunning = true;
public Channel() {
}
public Channel(Socket socket) {
try {
dos = new DataOutputStream(socket.getOutputStream());
dis = ne