📄 serverplayer.java
字号:
package Server;
import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.*;
import java.util.*;
import Utility.*;
/* This class creates a server socket and waits for connection requests. The accept method() returns a
socket that is used for constructing a new HandleASession object, which then run as a separate thread
interacting with that client */
public class ServerPlayer extends JFrame
implements BattleShipConstants {
public static void main(String[] args) {
ServerPlayer frame = new ServerPlayer();
}
public ServerPlayer() {
JTextArea jtaLog = new JTextArea();
// Create a scroll pane to hold text area
JScrollPane scrollPane = new JScrollPane(jtaLog);
// Add the scroll pane to the frame
getContentPane().add(scrollPane, BorderLayout.CENTER);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 300);
setTitle("Battle Ship Server");
setVisible(true);
try {
// Create a server socket
ServerSocket serverSocket = new ServerSocket(8000);
jtaLog.append(new Date() + ": Server started at socket 8000\n");
// Number a session
int sessionNo = 1;
// Ready to create a session for every client
while (true) {
jtaLog.append(new Date() + ": Wait for players to join session " + sessionNo + '\n');
// Connect to player 1
Socket player1 = serverSocket.accept();
jtaLog.append(new Date() + ": Player 1 joined session " + sessionNo + '\n');
jtaLog.append("Player 1's IP address" + player1.getInetAddress().getHostAddress() + '\n');
// Create a new thread for this session of two players
HandleASession thread = new HandleASession(player1);
// Start the new thread
thread.start();
}
}
catch(IOException ex) {
System.err.println(ex);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -