?? 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();
//創(chuàng)建一個新的線程來接受從客戶端的消息
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;
//創(chuàng)建一個新的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 + -