/* * (non-Javadoc) * * @see poke.server.resources.Resource#process(eye.Comm.Finger) */ public Request process(Request request) { // TODO add code to process the message/event received logger.info("poke: " + request.getBody().getPing().getTag()); Request.Builder rb = Request.newBuilder(); // metadata rb.setHeader(ResourceUtil.buildHeaderFrom(request.getHeader(), PokeStatus.SUCCESS, null)); // payload Payload.Builder pb = Payload.newBuilder(); Ping.Builder fb = Ping.newBuilder(); fb.setTag(request.getBody().getPing().getTag()); fb.setNumber(request.getBody().getPing().getNumber()); pb.setPing(fb.build()); rb.setBody(pb.build()); Request reply = rb.build(); return reply; }
public void run() { EventLoopGroup group = new NioEventLoopGroup(); try { Bootstrap b = new Bootstrap(); b.group(group).channel(NioSocketChannel.class).handler(new ClientInitializer()); // 2 Channel ch; // Start the connection attempt. ch = b.connect("localhost", PORT).sync().channel(); // 3 ChannelFuture lastWriteFuture; System.out.println("Sending image..."); // File file = new File("/home/nishanth/Pictures/1.png"); String dirName = "/home/nishanth/Pictures/"; ByteArrayOutputStream baos = new ByteArrayOutputStream(1000); BufferedImage img; byte[] bytearray = null; try { img = ImageIO.read(new File(dirName, "1.png")); ImageIO.write(img, "png", baos); System.out.println(img); baos.flush(); bytearray = baos.toByteArray(); baos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } /*Image.PayLoad payloadData = Image.PayLoad.newBuilder().setData(ByteString.readFrom(inputStream)).build(); Image.Header head = Image.Header.newBuilder().setIsClient(true).setClusterId(8).setClientId(45).setCaption("pai").build(); //Image.Request setPhotoData = Image.Request.newBuilder().setHeader(head).setData(payloadData).build(); Image.Ping ping = Image.Ping.newBuilder().setIsPing(Boolean.FALSE).build(); Image.Request setPhotoData = Image.Request.newBuilder().setHeader(head).setPayload(payloadData).setPing(ping).build(); lastWriteFuture = ch.writeAndFlush(setPhotoData); lastWriteFuture.channel().closeFuture().sync(); System.out.println("Running");*/ /* * * Server to Server Ping request */ // File f = new File("/home/ashish/shrek.jpg"); // InputStream inputStream=new FileInputStream(f); // Image.PayLoad payloadData = // Image.PayLoad.newBuilder().setData(ByteString.readFrom(inputStream)).build(); // Image.Header head = // Image.Header.newBuilder().setIsClient(true).setClusterId(8).setClientId(45).setCaption("pai").build(); // Image.Request setPhotoData = // Image.Request.newBuilder().setHeader(head).setData(payloadData).build(); // Image.Ping ping = Image.Ping.newBuilder().setIsPing(Boolean.TRUE).build(); // Image.Request setPhotoData = // Image.Request.newBuilder().setHeader(head).setPayload(payloadData).setPing(ping).build(); ClusterMessage.Builder cl = ClusterMessage.newBuilder(); cl.setClusterId(12); ClientMessage.Builder f = ClientMessage.newBuilder(); f.setMsgImageBits(ByteString.copyFrom(bytearray)); f.setMsgImageName("myImage"); System.out.println(ByteString.copyFrom(bytearray)); // f.setClusterId(12); // f.setClientId(14); f.setReceiverUserName(3); // f.setNumber(5); // f.setTagBytes(); // payload containing data Request.Builder r = Request.newBuilder(); Payload.Builder p = Payload.newBuilder(); cl.setClientMessage(f.build()); p.setClusterMessage(cl.build()); r.setBody(p.build()); // header with routing info Header.Builder h = Header.newBuilder(); h.setOriginator(1000); h.setTag("test finger"); h.setTime(System.currentTimeMillis()); h.setRoutingId(Header.Routing.PING); r.setHeader(h.build()); Request req = r.build(); lastWriteFuture = ch.writeAndFlush(req); lastWriteFuture.channel().closeFuture().sync(); // System.out.println("Running"); } catch (Exception e) { e.printStackTrace(); } finally { group.shutdownGracefully(); } }