📄 fishserver.java
字号:
//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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -