Hi Maarten...
here is my server
import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.charset.*;
import org.apache.mina.common.IoAcceptor;
import org.apache.mina.transport.socket.nio.SocketAcceptor;
import org.apache.mina.transport.socket.nio.*;
import org.apache.mina.common.*;
import org.apache.mina.filter.*;
import org.apache.mina.filter.codec.*;
import org.apache.mina.filter.codec.textline.*;
import java.lang.management.ManagementFactory;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import org.apache.mina.integration.jmx.IoServiceManager;
public class Main {
private static final int PORT = 6082;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ByteBuffer.setUseDirectBuffers(false);
ByteBuffer.setAllocator(new SimpleByteBufferAllocator());
IoAcceptor acceptor = new SocketAcceptor();
SocketAcceptorConfig cfg = new SocketAcceptorConfig();
cfg.getSessionConfig().setReuseAddress( true );
cfg.getFilterChain().addLast( "logger", new LoggingFilter() );
cfg.getFilterChain().addLast( "codec", new ProtocolCodecFilter( new
TextLineCodecFactory( Charset.forName( "UTF-8" ))));
IoServiceManager serviceManager = new IoServiceManager( acceptor );
serviceManager.startCollectingStats(1000);
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
try {
ObjectName name = new
ObjectName("com.jels.kaddb.gateway:type=IoServiceManager");
mbs.registerMBean(serviceManager, name);
acceptor.bind( new InetSocketAddress(PORT), new ConnHandler(), cfg);
}
catch (Exception e) {
}
System.out.println("Tracking Gateway server started.");
}
public void sessionCreated(IoSession session) throws Exception {
System.out.println("Session created...");
}
}
I tired US_ASCII, ISO-8859-1 and UTF-8 for charset and same problem appeared
** I use mina-core-1.1.0.jar
Thanks in advance
Maarten Bosteels <[EMAIL PROTECTED]> wrote: Hi Ahmed,
Could you show us how you set up the server ?
Which ExecutorFilter and ProtocolCodecFilter you use, etc..
Thanks,
Maarten
On 7/9/07, Ahmed Al-Obaidy wrote:
>
> Hi guys,
>
> I'm using MINA to develop a GPRS gateway for an AVL system...
>
> Now I'm using a very simple program for evaluation purpose ...
> It just print messages come from TCP clients to the System.out
>
> Tests works OK under Linux/telnet...
>
> When I use it under Windows/Telnet I find a strange behavior showed up...
> The telnet window doesn't echo my input... and the program output log each
> character separately... but the IoHandlerAdapter still capture the messages
> events....
> the output seems like this:
>
> Tracking Gateway server started.
> 20578 [SocketAcceptorIoProcessor-0.0] INFO ConnHandler - [/127.0.0.1:1237]
> CREATED
> 20578 [AnonymousIoService-1] INFO ConnHandler - [/127.0.0.1:1237] OPENED
> 23922 [AnonymousIoService-2] INFO ConnHandler - [/127.0.0.1:1237]
> RECEIVED: HeapBuffer[pos=0 lim=1 cap=8192: 68]
> 24172 [AnonymousIoService-3] INFO ConnHandler - [/127.0.0.1:1237]
> RECEIVED: HeapBuffer[pos=0 lim=1 cap=8192: 69]
> 27781 [AnonymousIoService-4] INFO ConnHandler - [/127.0.0.1:1237]
> RECEIVED: HeapBuffer[pos=0 lim=2 cap=8192: 0D 0A]
> Message
> ST:hi
>
>
> Even more, when tracking devices connect the server... the messages appear
> in the Log.. but the IoHandlerAdapter never catch the messages events...
> the output look like this
>
> Tracking Gateway server started.
> 57453 [SocketAcceptorIoProcessor-0.0] INFO ConnHandler -
> [/213.139.63.254:3599] CREATED
> 57469 [AnonymousIoService-1] INFO ConnHandler - [/213.139.63.254:3599]
> OPENED
> 58859 [AnonymousIoService-2] INFO ConnHandler - [/213.139.63.254:3599]
> RECEIVED: HeapBuffer[pos=0 lim=102 cap=8192: 33 35 33 35 37 39 30 31 34 38
> 34 32 33 36 39 2C 30 35 2A 38 32 37 2C 30 30 30 2C 50 54 33 33 2C 56 2C 30
> 30 30 30 2E 30 30 30 30 2C 4E 2C 30 30 30 30 30 2E 30 30 30 30 2C 45 2C 30
> 30 30 2E 30 2C 30 30 30 2E 30 2C 30 30 2E 30 2C 30 30 3A 30 30 3A 31 37 20
> 30 36 2D 30 31 2D 38 30 2C 32 2E 32 31 2C 39 39 0D]
> 78672 [AnonymousIoService-3] INFO ConnHandler - [/213.139.63.254:3599]
> RECEIVED: HeapBuffer[pos=0 lim=102 cap=8192: 33 35 33 35 37 39 30 31 34 38
> 34 32 33 36 39 2C 30 35 2A 38 32 37 2C 30 30 30 2C 50 54 33 33 2C 56 2C 30
> 30 30 30 2E 30 30 30 30 2C 4E 2C 30 30 30 30 30 2E 30 30 30 30 2C 45 2C 30
> 30 30 2E 30 2C 30 30 30 2E 30 2C 30 30 2E 30 2C 30 30 3A 30 30 3A 34 39 20
> 30 36 2D 30 31 2D 38 30 2C 32 2E 32 31 2C 39 39 0D]
> 98672 [AnonymousIoService-4] INFO ConnHandler - [/213.139.63.254:3599]
> RECEIVED: HeapBuffer[pos=0 lim=102 cap=8192: 33 35 33 35 37 39 30 31 34 38
> 34 32 33 36 39 2C 30 35 2A 38 32 37 2C 30 30 30 2C 50 54 33 33 2C 56 2C 30
> 30 30 30 2E 30 30 30 30 2C 4E 2C 30 30 30 30 30 2E 30 30 30 30 2C 45 2C 30
> 30 30 2E 30 2C 30 30 30 2E 30 2C 30 30 2E 30 2C 30 30 3A 30 31 3A 30 39 20
> 30 36 2D 30 31 2D 38 30 2C 32 2E 32 31 2C 39 39 0D]
>
> here is my IoHandlerAdapter
>
> import java.util.*;
> import org.apache.mina.common.IoHandlerAdapter;
> import org.apache.mina.common.IoSession;
> import org.apache.mina.common.*;
> import org.apache.mina.transport.socket.nio.*;
>
> public class ConnHandler extends IoHandlerAdapter {
> //private Map sessions=Collections.synchronizedMap(new HashMap());
>
> public void exceptionCaught(IoSession session, Throwable t) throws
> Exception {
> t.printStackTrace();
> session.close();
> }
>
> public void messageReceived(IoSession session, Object msg) throws
> Exception {
> System.out.println("Message");
> String str = msg.toString();
>
> //foreach (IoSession s in sessions.)
>
> //session.write( "You said:" + str );
> System.out.println("ST:"+str);
> }
> }
>
> I think the problem has something to do with the charset... I tried many
> but no success...
>
>
>
> ---------------------------------
> Looking for a deal? Find great prices on flights and hotels with Yahoo!
> FareChase.
---------------------------------
Take the Internet to Go: Yahoo!Go puts the Internet in your pocket: mail, news,
photos & more.
---------------------------------
It's here! Your new message!
Get new email alerts with the free Yahoo! Toolbar.