serverwithrr.java

来自「A byte comunication system made in java 」· Java 代码 · 共 61 行

JAVA
61
字号

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 + =
减小字号Ctrl + -
显示快捷键?