Quantcast
Channel: Ignite Realtime : Unanswered Discussions - Support
Viewing all articles
Browse latest Browse all 4979

Send serialzed as message.

$
0
0

I am developing an android application and want to transfer data from one profile to another through messages. One approach that i thought of is to send serialized java object through message and de-serialize on receiving end. I think this is the simplest approach. Problem with this that it doesn't work with SmakAPI it gives Read error exception and closes the connection.

Here is the code that i used to send message. It works fine for plain text. Like if i send "abc"

it works fine.

                    Message message = new Message();                    message.setTo("**@*.com");                    testAB obj=new testAB(2,"abc");                    String serializedObject = "";                    // serialize the object                    try {                        ByteArrayOutputStream bo = new ByteArrayOutputStream();                        ObjectOutputStream so = new ObjectOutputStream(bo);                        so.writeObject(obj);                        so.flush();                        serializedObject = bo.toString();                    } catch (Exception e) {                        System.out.println(e);                    }                    message.addBody("App1 Eng", serializedObject);            try {                finalCon.sendPacket(message);            } catch (SmackException.NotConnectedException e) {                Log.i("App1 Send ", "Packet Sending Failed");                e.printStackTrace();            }

 

Here is exception message,

 

10-13 22:09:04.7672925-3250/bashsol.smackv3 W/AbstractXMPPConnection﹕ Connection closed with error
javax.net.ssl.SSLException: Read error: ssl=0xb9203cc0: I/O error during system call, Connection reset by peer
        at com.android.org.conscrypt.NativeCrypto.SSL_read(Native Method)
        at com.android.org.conscrypt.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketIm pl.java:689)
        at java.io.InputStreamReader.read(InputStreamReader.java:233)
        at java.io.BufferedReader.read(BufferedReader.java:325)
        at org.jivesoftware.smack.util.ObservableReader.read(ObservableReader.java:41)
        at org.kxml2.io.KXmlParser.fillBuffer(KXmlParser.java:1506)
        at org.kxml2.io.KXmlParser.peekType(KXmlParser.java:986)
        at org.kxml2.io.KXmlParser.next(KXmlParser.java:346)
        at org.kxml2.io.KXmlParser.next(KXmlParser.java:310)
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPC onnection.java:1151)
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$200(XMPPTCPCon nection.java:937)
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnecti on.java:952)
        at java.lang.Thread.run(Thread.java:841)
10-13 22:09:04.7672925-3250/bashsol.smackv3 D/SMACK﹕ XMPPConnection closed due to an exception (0)
10-13 22:09:04.7672925-3250/bashsol.smackv3 W/System.err﹕ javax.net.ssl.SSLException: Read error: ssl=0xb9203cc0: I/O error during system call, Connection reset by peer
10-13 22:09:04.7672925-3250/bashsol.smackv3 W/System.err﹕ at com.android.org.conscrypt.NativeCrypto.SSL_read(Native Method)
10-13 22:09:04.7672925-3250/bashsol.smackv3 W/System.err﹕ at com.android.org.conscrypt.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketIm pl.java:689)
10-13 22:09:04.7672925-3250/bashsol.smackv3 W/System.err﹕ at java.io.InputStreamReader.read(InputStreamReader.java:233)
10-13 22:09:04.7672925-3250/bashsol.smackv3 W/System.err﹕ at java.io.BufferedReader.read(BufferedReader.java:325)
10-13 22:09:04.7672925-3250/bashsol.smackv3 W/System.err﹕ at org.jivesoftware.smack.util.ObservableReader.read(ObservableReader.java:41)
10-13 22:09:04.7672925-3250/bashsol.smackv3 W/System.err﹕ at org.kxml2.io.KXmlParser.fillBuffer(KXmlParser.java:1506)
10-13 22:09:04.7672925-3250/bashsol.smackv3 W/System.err﹕ at org.kxml2.io.KXmlParser.peekType(KXmlParser.java:986)
10-13 22:09:04.7672925-3250/bashsol.smackv3 W/System.err﹕ at org.kxml2.io.KXmlParser.next(KXmlParser.java:346)
10-13 22:09:04.7672925-3250/bashsol.smackv3 W/System.err﹕ at org.kxml2.io.KXmlParser.next(KXmlParser.java:310)
10-13 22:09:04.7672925-3250/bashsol.smackv3 W/System.err﹕ at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPC onnection.java:1151)
10-13 22:09:04.7672925-3250/bashsol.smackv3 W/System.err﹕ at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$200(XMPPTCPCon nection.java:937)
10-13 22:09:04.7672925-3250/bashsol.smackv3 W/System.err﹕ at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnecti on.java:952)
10-13 22:09:04.7672925-3250/bashsol.smackv3 W/System.err﹕ at java.lang.Thread.run(Thread.java:841)

 

I want to ask if there is any solution to this or any other method in SmackAPI to send serialized object.

And if not what are possible ways to send class object between different profiles (Like in xml encoding etc) which require less coding effort.

Flow


Viewing all articles
Browse latest Browse all 4979

Trending Articles