[J2ME] Połączenie z serverem bluetooth

0

Witam!
Mam taki wycinek kodu:

StreamConnection conn;

try {
			conn = (StreamConnection) Connector.open("btspp://localhost:10203040607040A1B1C1DE100;name=Serwer");
			
			} catch (IOException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
			
			try {
			    byte buffer[] = new byte[100];
			    String msg = "Hello there. I'm client...";
			    InputStream is = conn.openInputStream();
			    OutputStream os = conn.openOutputStream();
			    // send data to the server
			    os.write(msg.getBytes());
			    // read data from the server
			    is.read(buffer);
			    conn.close();
} catch(IOException e) {
e.printStackTrace();
}

Jest to wycinek kodu klienta, chcącego wysłać do nasłuchującego na innej komórce servera krótką wiadomość(jak widać).
Problem polega na tym że w linii

conn = (StreamConnection) Connector.open("btspp://localhost:10203040607040A1B1C1DE100;name=Serwer");

wywala mi ClassCastException...

Nie wiem czy problem leży w moim argumencie metody Connector.open() - adres przez mnie podawany jest identyczny z tym jaki ma założony server - tak samo wpisałem.

Pomocy [!!!]

0

Zazwyczaj ClassCastException w komunikacie podaje też jaką klasę próbuje rzutować. Zobacz co to za klasa.

0

A masz włączony pakiet opcjonalny związany z BlueTooth?

0

Z problemem Cast Exception'a już sobie poradziłem.
Wyniknął kolejny, a jakże :-/
Otóż mam taki kod servera:

String ServiceUrl = "btspp://localhost:10203040607040A1B1C1DE100;name=Server Orzecha";

				
				System.out.println("Server is running...;");
				addString("Server is running...;");
				
					try 
					{
					    // create a server connection
						addString("Creating notifier...");
						StreamConnectionNotifier notifier =(StreamConnectionNotifier) Connector.open(ServiceUrl);
						addString("Notifier created.");
						
					    //nie działa na NOKII: accept client connections -> The acceptAndOpen method waits until a client is connected.
					    addString("Awaiting for a client...");
					    StreamConnection connection = notifier.acceptAndOpen(); // otwiera połączanie
					    addString("Client connected.");
					    
					    // prepare to send/receive data
					    byte buffer[] = new byte[100];
					    String msg = "Hello there. I'm Server... od Orzecha";
					    
					    // read data from client
					    InputStream is = connection.openInputStream();
					    is.read(buffer);
					    DataInputStream dis = new DataInputStream(is);
					    addString(dis.readUTF());
					    
					    // send data to the client
					    OutputStream os = connection.openOutputStream();
					    os.write(msg.getBytes());
					    
					    
					    
					   
					    
					   
					    
					    connection.close(); // zamyka połączenie / wyłacza serwer(?)
					    
					} catch(IOException e) {
						addString("ERROR");
						//e.printStackTrace();
					}
				
		 
				System.out.println("Server is down...");
				addString("Server is down...");

Sprawdzając ten kod na moim SE K510i wszystko jest w porządku - włączam program, wypisuje mi "Awaiting for a client..." i w momencie gdy w aplikacji klienta (odpalonej z Nokii 5130) łącze sie z tym serverem to server u siebie widzi to i wypisuje "Client connected".
Czyli POŁĄCZENIE JEST OK.

Problem pojawił się gdy chciałem sytuację zamienić i włączyłem server na Nokii - w tym momencie co dziwne nic mi sei nie wyświetla na ekranie - analizując linię po linii zauważyłem że problem leży tutaj:
StreamConnection connection = notifier.acceptAndOpen(); // otwiera połączanie
Jeżeli ta linia jest zakomentowana i wszystkie dalsze w bloku 'try' to wypisuje mi na ekran "Server is running" itd

Nie wiem czy nowsza o epokę nokia 5130 nie obsługuje jakiś standardów? Ktoś może mi powiedzieć?

Dziwne jest także to, że jeżeli wspomniana linijka nie jest zakomentowana to nawet napisy które mają się wypisać na ekran przed jej wywołaniem też się nie wypisują...

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