📄 serverwithrr.java
字号:
import RequestReply.*;
import MessageMarshaller.*;
import Registry.*;
import Commons.Address;
class ServerTransformer implements ByteStreamTransformer
{
private MessageServer originalServer;
public ServerTransformer(MessageServer s)
{
originalServer = s;
}
public byte[] transform(byte[] in)
{
Message msg;
Marshaller m = new Marshaller();
msg = m.unmarshal(in);
Message answer = originalServer.get_answer(msg);
byte[] bytes = m.marshal(answer);
return bytes;
}
}
class MessageServer
{
public Message get_answer(Message msg)
{
System.out.println("Server received " + msg.data + " from " + msg.sender);
Message answer = new Message("Server", "I am alive");
return answer;
}
}
public class ServerWithRR
{
public static void main(String args[])
{
new Configuration();
ByteStreamTransformer transformer = new ServerTransformer(new MessageServer());
Address myAddr = Registry.instance().get("Server");
Replyer r = new Replyer("Server", myAddr);
while (true) {
r.receive_transform_and_send_feedback(transformer);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -