我想定期从客户端向服务器发送数据。如果数据将通过客户端处理程序发送,我怎样才能在Mina中执行此操作。 我写这样的openSocket()函数:
public void openSocket(Object c)
{
connector.getSessionConfig().setReadBufferSize(2048);
connector.getFilterChain().addLast("logger", new LoggingFilter());
connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new myCodecFactory()));
connector.setHandler(new net.floodlightcontroller.Example.ClientSessionHandler(c));
ConnectFuture future = connector.connect(new InetSocketAddress(HOSTNAME, PORT));
future.awaitUninterruptibly();
IoSession session = future.getSession();
session.getConfig().setUseReadOperation(true);
session.getCloseFuture().awaitUninterruptibly();
connector.dispose();
}
当你看到函数在init()函数中调用它之后接收包含我的初始数据的对象时。如果我想通过相同的连接在一段时间后发送另一个数据,我该怎么做。如果我像下面的代码一样调用openSocket()函数它不起作用。我在哪里可以打电话和如何?
try {
while (true){
openSocket(cObj);
Thread.sleep(5000, 5);}
} catch(InterruptedException ie) {}