Java 在不同线程中访问类
我在这里建东西,我发现自己陷入了困境。先介绍一下。我正在开发一个客户机-服务器游戏。它的一个功能是聊天,玩家可以用它与其他人聊天 Player1向服务器发送消息,服务器将其转发给相应的Player2。我的问题是:如何从另一个线程访问类,以便让套接字对象将消息转发给Player2Java 在不同线程中访问类,java,Java,我在这里建东西,我发现自己陷入了困境。先介绍一下。我正在开发一个客户机-服务器游戏。它的一个功能是聊天,玩家可以用它与其他人聊天 Player1向服务器发送消息,服务器将其转发给相应的Player2。我的问题是:如何从另一个线程访问类,以便让套接字对象将消息转发给Player2 while (listening) { try { //this is how I start a th
while (listening)
{
try
{
//this is how I start a thread for each connection
//do I need to use identifiers or something?
new Client(serverSocket.accept()).start();
}
catch(IOException A)
{
reportError(A.toString()); //reportError is a function of mine
}
}
实现这一点的方法有很多,最简单的方法是:
public void start(){
try {
ServerSocket ss = new ServerSocket(port);
System.out.println("Starting server on port: " + port);
while (serverState) {
Socket socket = ss.accept();
//stop server
if (!serverState) {
break;
}
Client handler = new Client(this, socket);
handler.start();
}
//when server is stopped, close all connections
for (Client client : clients.values()) {
client.closeConnection();
}
} catch (IOException e) {
}
}
如果在客户端的构造函数中发送“this”,并将其设置为私有变量,则可以从run函数(其他线程)访问它