server.java

来自「这是个用java写的qq的多线程聊天的功能,有客户段和服务端,在eclipse里」· Java 代码 · 共 56 行

JAVA
56
字号
package smoker.server;

import java.io.IOException;
import java.net.*;

public class Server implements Runnable {
	public static final long serialVersionUID = 0;
	private ServerSocket serverSocket;
	private boolean isRunning;
	private IServerCenter iServerCenter;

	public Server(IServerCenter iServerCenter) {
		this.iServerCenter = iServerCenter;
	}

	public void run() {
		int port = iServerCenter.getServerPort();

		try {
			serverSocket = new ServerSocket(port);
		} catch (IOException e1) {
			e1.printStackTrace();
		}catch(Exception e) {
			e.printStackTrace();
		}

		int count = 0;
			try {
				while (isRunning) {
					Socket socket = serverSocket.accept();
					int key = count++;
					ConnectClientThread client = new ConnectClientThread(iServerCenter, socket, key);
					iServerCenter.addNewClientToMaps(socket, client, key);
					Thread.sleep(500);
				}
			} catch (IOException e) {
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
	}

	public void startThread() {
		isRunning = true;
		new Thread(this).start();
	}

	public void stopThread() {
		isRunning = false;
		try {
			serverSocket.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?