ramka od serwera

0

hej,
mam nastepujacy problem (aplikacja na telefon). po polaczeniu sie z serwerem, musze mu wyslac ramke, a potem odebrac od niego odpowiedz. Polaczenie i wysylanie ramki jest ok, jednak nie moge nic odebrac. Przedstawie moze wpierw fragment kodu:

 
private SocketConnection _sc = null; 
private DataInputStream _is; 
private DataOutputStream _os; 

public void send() { 

_sc = getConnect(); 

try{ 
_os = _sc.openDataOutputStream(); 
_is = _sc.openDataInputStream(); 

//send first frame; gdzie 'ramka.sendFirstFrame() zwraca 
//ramke w postaci byte[] 

 sendData(_ramka.sendFirstFrame()); 

try { 

//odbierz odp od serwera 
 getResp(); 

} catch(Exception e){} 

} catch(Exception e){} 


}//koniec metody send() 

//connect with server 
public SocketConnection getConnect(){ 
                        
        try{ 
       _sc = (SocketConnection)Connector.open("adres"); 
                
                        return _sc; 

        } catch(Exception e) {  System.exit(0); 
                                return null; } 
                        }else { return null; } 
                
        }//end of getConnect method 


public boolean sendData(byte[] _b){ 
                int length = _b.length; 
                try{ 
                        _os.write(_b, 0, length); 
                        
                
                        return true; 
                } catch(Exception e){return false;      } 
        }//koniec sendData 

public boolean getResp(){ 
        byte[] _input = new byte[32]; 
        try{ 
        for(int ii = 0; ii < _input.length; ii++){ 
        _input[ii] = (byte)_is.read(); 
        } 
                        return true; 
        } catch(Exception e){   return false;} 
        }  

i wyglada to tak, ze wpierw aplikacja wisi dosc dlugo,potem dostaje odpowiedz ze polaczenie ok (usunelam to z przykladowego kodu,by nie zasmiecac), ze pierwsza ramka wyslana, a w miejscu gdzie powinna byc odebrana odpowiedz, dostaje:

java.io.InterruptedIOException: Local connection timed out after ~ 120000
nie mam pojecia czemu.kombinowalam i testowalam i to linijka: _is.read() powoduje to dzialanie. W jaki sposob moge odczytac te odpowiedz od serwera?

bede wdzieczna za wszelkie wskazowki,

      pzdr, 
                misty
0

moge sie mylic ale wydaje mi sie ze tu moze byc problem z polaczeniem. najlepiej sprawdzic czy program dziala na jednej maszynie, badz w sieci lokalnej (gdzie wszystkie porty sa otwarte i nie ma nata i firewalli)

0

dzieki za odpowiedz.
problem byl jednak innej natury-komunikacja z serwerem wyglada ciut inaczej niz mi to przedstawiono. czekalam na ramke ktora nie mogla byc jeszcze wyslana. juz wsjo gra.

pzdr,
misty

1 użytkowników online, w tym zalogowanych: 0, gości: 1