소켓 연결은 에뮬레이터에서 좋지만 실제 장치 (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