ソケット接続はエミュレータに適していますが、実際のデバイスで送信できません(J2ME)

StackOverflow https://stackoverflow.com//questions/12654477

質問

サーバ/クライアントアプリケーションを開発しています。アプリケーションはエミュレータでうまく機能しますが、Nokia 5200またはNokia 6303iでテストすると、接続は正常に確立されますが、サーバーは最初の読み取り方式でブロックされます。つまり、クライアント(J2ME)アプリケーションはデータをサーバーに送信できません。

マイクライアントパート:

        Thread occ=new Thread(new Runnable() {

                    public void run() {
                        try {
                            SocketConnection sc = (SocketConnection)Connector.open("socket://213.233.169.142:2000");
                            sc.setSocketOption(SocketConnection.DELAY, 0);
                            OutputStream os=sc.openDataOutputStream();
                            DataOutputStream dos=new DataOutputStream(os);

                            InputStream is=sc.openDataInputStream();
                            DataInputStream dis=new DataInputStream(is);

        //dos.writeUTF(receiverT.getString());


        os.write("saalam".getBytes());                                                      

        os.flush();


        dos.writeUTF(Midlet.userPhoneNumber);
        dos.flush();



        dos.writeUTF(messT.getString());
        dos.flush();

          while((!dis.readUTF().equals("system-use:code=2")) && false)
        {

        }




        dos.close();
        os.close();
        sc.close();

                        } catch (IOException ex) {
                            ex.printStackTrace();
                        }
                    }
                });  

        occ.start();
.

マイサーバーパーツ:

 serverSocket = new ServerSocket(2000);
 Socket socket=serverSocket.accept();
 System.out.println("connection stablished");
 inp=new DataInputStream(mySocket.getInputStream());
 outp=new DataOutputStream(mySocket.getOutputStream());

 receiverTemp=inp.read();//the server code blocks on this line

 senderTemp=inp.readUTF();
 .
 .
 .
 .
.

役に立ちましたか?

解決 2

最終的に解決された問題は、一部のモバイルオペレータが生のソケットを持つ送受信情報を許可しないので、ポート80でHTTPソケットを使用し、それが機能しました。

他のヒント

JADファイルにソケットアクセス許可を設定しましたか?この事実は、デバイスのこの種の問題を解決することが非常に重要です

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top