I have come across a really strange situation where my Nokia 5800 seems unable to send any data via the standard outputstream. This was discovered while testing an application I am writing which communicates with a server via sockets. It worked both on the emulator and on a Nokia 6500 classic but not on my 5800. But to keep things simple here is a simple test I did:
If I take the standard J2ME NetworkDemo example project which comes with NetBeans (the one where you can choose to test Socket or Datagram style communication, in this case I am testing Socket, and then one phone becomes the server, and the other the client, and then messages can be sent between the two), and I load it onto my 5800 and run it as the client. I then run the other on my pc on the emulator as the server, the phone can receive the bytes sent by the emulator, but the pc doesn't receive any of the bytes sent by the 5800.
When I say it's unable to send, I also mean it doesn't complain either! It acts as though everything has been sent, the OutputStream's write() method is called, there are no exceptions thrown, the server just never receives anything!
I read a post which claimed that on some phones the InputStream's read() method can halt or block the OutputStream's write() method even in a multithreaded situation. So to be safe I disabled the client's InputStream completely, and even the Server's OutputStream so I can only have one way communication - still nothing was received by the server.
If anyone has any information, further tests to try, or a solution I would be greatly appreciative!
Thanks in advance!