我有一个使用类 Game 的类TCPServer
。我想将所有低级发送和接收分开TCPServer
。所以我给出TCPServer
了一个单独的线程来不断读取传入的消息。我想将这些消息返回给Game
. 但我不知道该怎么做。Game
还应该通过向客户端发送消息来对这些消息做出反应。
我认为/知道可以通过将线程从TCPServer
to移动,Game
但这是解决此问题的最佳方法吗?将两个类分开不是更好吗?
我有以下伪代码。
public class Game{
TCPServer tcpServer = new TCPServer();
public void execute(){
// do something
Object o = new Object;
send(o);
if(receive(o)){ // WRONG
// do something with the receive object
}
}
private void send(Object o){
tcpServer.send(o);
}
private Object receive(Object o){
return tcpServer.receive(o);
}
public class TCPServer extends Thread{
private ServerSocket serverSocket;
Socket client = new Socket;
public void run(){
Object o = receive();
// How do I get this object o in the Server class in function execute()?
}
private Object receive(){
return serverSocket.listen();
}
public void send(Object o){
client.send(o);
}