myserver.java

来自「一个在线聊天系统」· Java 代码 · 共 68 行

JAVA
68
字号
import java.net.*;
import java.util.*;
import java.text.*;
import java.io.*;
public class myserver {
	static final int PORT=6000;
	static ServerSocket ss;
	static Vector connections;//定义向量放置对话信息
//	static Vector clients;
	
	public static void sendAll(String s){//发送消息
		if (connections != null){
			for (Enumeration e = connections.elements();
					e.hasMoreElements();) {
				try {
					PrintWriter pw = new PrintWriter((
					 (Socket) e.nextElement()).getOutputStream());
					pw.println(s);
					pw.flush();
				}catch (IOException ex){}
			}
		}
		System.out.println(s);
	}
	public static void addConnection(Socket s,ClientProc1 cp){
		if (connections == null){
			connections = new Vector();
		}
		connections.addElement(s);//往向量中添加从客户端传来的对话


	}

	public static void deleteConnection(Socket s,ClientProc1 cp) throws IOException {
		if (connections != null){
			connections.removeElement(s);
			s.close();
		}

	}

	public  static void  main(String [] args){
		
		int port = PORT ;
		try {
			ss = new ServerSocket(port);
			System.out.println("服务器已经启动,正在监听...");
		}catch (IOException e){
			System.err.println(e);
			System.exit(1);
		}
		while (true) {
			try {
				Socket cs = ss.accept();//开始监听客户端
				
				ClientProc1 cp = new ClientProc1(cs);
				//创建线程,向每个客户端发送信息
				Thread ct = new Thread(cp);
				ct.start();

				addConnection(cs,cp);
			}catch (IOException e){
				System.err.println(e);
			}
		}
	}
}

⌨️ 快捷键说明

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