/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.List; import org.glassfish.grizzly.filterchain.BaseFilter; import org.glassfish.grizzly.filterchain.FilterChain; import org.glassfish.grizzly.filterchain.FilterChainBuilder; import org.glassfish.grizzly.filterchain.FilterChainContext; import org.glassfish.grizzly.filterchain.NextAction; import org.glassfish.grizzly.filterchain.TransportFilter; import org.glassfish.grizzly.nio.transport.TCPNIOTransport; import org.glassfish.grizzly.nio.transport.TCPNIOTransportBuilder; /** * * @author oleksiys */ public class MSServer { public static void main(String[] args) throws IOException { FilterChain fc = FilterChainBuilder.stateless() .add(new TransportFilter()) .add(new MultiStringFilter(StandardCharsets.UTF_8, "\n")) .add(new BaseFilter() { @Override public NextAction handleRead(FilterChainContext ctx) throws IOException { final List stringList = ctx.getMessage(); System.out.println("client sent: " + stringList); ctx.write(stringList); return ctx.getStopAction(); } }).build(); TCPNIOTransport transport = TCPNIOTransportBuilder .newInstance() .setProcessor(fc) .build(); transport.bind(7777); try { transport.start(); System.out.println("Press enter to stop"); System.in.read(); } finally { transport.shutdownNow(); } } }