fishserver.java

来自「本系统实现在几台计算机屏幕上连贯地显示一条鱼游动大动画.」· Java 代码 · 共 46 行

JAVA
46
字号
//FishServer是一个多线程的,基于Socket和Packet的服务器。
package fish.server;

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

import fish.*;

public class FishServer implements MessageListener {
	//开始FishServer
	public void startServer() 
	{      
		try {
			ServerSocket server = new ServerSocket( 
					FishConstants.SERVER_PORT, 100 );
			System.out.println( "Server listening on port " + 
					FishConstants.SERVER_PORT + " ..." );
			while ( true ) {
				Socket socket = server.accept();
				//创建一个新的线程来接受从客户端的消息
				new ReceivingThread(this,socket).start();
				System.out.println( "Connection received from: " +
						socket.getInetAddress() );
				}  
			} 
		
		catch ( IOException ioException ) {
			ioException.printStackTrace();
			}
		} 

	//当接受到新消息时,向所有的客户端广播
	public void messageReceived(String from,String message) {          
		String completeMessage = from + 
			FishConstants.MESSAGE_SEPARATOR + message;
		//创建一个新的MulticastThread来对所有的客户端广播新消息
		new MulticastSendingThread(completeMessage.getBytes()).start();
		}   


	public static void main (String args[]) {
		new FishServer().startServer();
		}
	
} 

⌨️ 快捷键说明

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