Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Verbindung PC zu Handy über Midlet schlägt fehl

Mitglied: Letavino

Letavino (Level 1) - Jetzt verbinden

22.08.2012 um 16:27 Uhr, 2519 Aufrufe

Hallo,
ich probe gerade die Programmierung mit J2ME, spezieller bin ich gerade dabei ein Midlet zu schreiben, dass über TCP eine Verbindung mit dem PC herstellen soll.

Auf dem Rechner (Windows Vista Professional) wurde das Midlet mit WTK simuliert und die Verbindung zu einem Java Server nachgestellt.
Das funktioniert auch einwandfrei.
Nun habe ich das Programm auf das Handy ( Samsung Monte ) übertragen und mit WLAN mit dem Netzwerk verbunden.
Hier schlägt die Verbindung beim testen fehl.
Das Handy hat folgende Ausgabe:

Status: javax.microedition.io.ConnectionNotFoundException: error 0 in socket::open

Kann man daraus irgendwelche Hinweise gewinnen?
Was könnte die Verbindung genau stören?

Der Code:
01.
import java.io.*; 
02.
import java.util.*; 
03.
import javax.microedition.midlet.*; 
04.
import javax.microedition.lcdui.*; 
05.
import javax.microedition.io.*; 
06.
 
07.
public class Network extends MIDlet implements CommandListener 
08.
09.
	private Display  display;           
10.
	private Form form;	 
11.
	private TextField txfCommand; 
12.
	 
13.
	private TextField txfIp1; 
14.
	private TextField txfIp2; 
15.
	private TextField txfIp3; 
16.
	private TextField txfIp4; 
17.
	private TextField txfPort; 
18.
	 
19.
	private StringItem status; 
20.
	private StringItem answer; 
21.
	 
22.
	private Command exit, submit, again; 
23.
	 
24.
	public Network() 
25.
26.
		display = Display.getDisplay(this); 
27.
28.
	protected void startApp() 
29.
30.
		form = new Form("TCP Sender"); 
31.
		 
32.
		 
33.
		txfCommand = new TextField("Kommando:","Test 123",20,0); 
34.
		 
35.
		txfIp1 = new TextField("IP:","192",3,TextField.NUMERIC); 
36.
		txfIp2 = new TextField(null,"168",3,TextField.NUMERIC); 
37.
		txfIp3 = new TextField(null,"0",3,TextField.NUMERIC); 
38.
		txfIp4 = new TextField(null,"105",3,TextField.NUMERIC); 
39.
		 
40.
		txfPort = new TextField(null,"",5,TextField.NUMERIC); 
41.
		 
42.
		status = new StringItem("Status: ","Noch nichts gesendet!"); 
43.
		answer = new StringItem("Antwort: ",""); 
44.
 
45.
		txfIp1.setLayout(Item.LAYOUT_2);  
46.
		txfIp2.setLayout(Item.LAYOUT_2);  
47.
		txfIp3.setLayout(Item.LAYOUT_2);  
48.
		txfIp4.setLayout(Item.LAYOUT_2);  
49.
		 
50.
		form.append(txfCommand); 
51.
		form.append(txfIp1); 
52.
		form.append(txfIp2); 
53.
		form.append(txfIp3); 
54.
		form.append(txfIp4); 
55.
		form.append(txfPort); 
56.
		 
57.
		form.append(status); 
58.
		form.append(answer); 
59.
	     
60.
		exit = new Command("Ende", Command.EXIT, 1); 
61.
        submit = new Command("Start", Command.SCREEN, 2); 
62.
         
63.
        form.addCommand(submit); 
64.
        form.addCommand(exit); 
65.
	    display.setCurrent(form); 
66.
	    form.setCommandListener(this); 
67.
68.
	protected void pauseApp(){} 
69.
	 
70.
	protected void destroyApp( boolean unconditional )	{} 
71.
   
72.
	public void exitMIDlet(){} 
73.
	public void commandAction(Command c, Displayable d)  
74.
	{		 
75.
        if (c == exit)  
76.
77.
            destroyApp(true); 
78.
            notifyDestroyed(); 
79.
        }  
80.
        else if (c == submit || c == again)  
81.
82.
        	Thread tServer = new Thread() { 
83.
        		public void run() { 
84.
        			server(); 
85.
        	    }}; 
86.
        	 
87.
        	Thread tClient = new Thread() { 
88.
        		public void run() { 
89.
        			client(); 
90.
        	    }}; 
91.
        	 
92.
        	tServer.start(); 
93.
        	tClient.start();   
94.
95.
         
96.
97.
	private void server()  
98.
99.
       	try 
100.
101.
		  ServerSocketConnection ssc = (ServerSocketConnection)  
102.
		  Connector.open("socket://:9004"); 
103.
		  StreamConnection sc = null; 
104.
		  InputStream is = null; 
105.
		  try{ 
106.
		    sc = ssc.acceptAndOpen(); 
107.
		    is = sc.openInputStream(); 
108.
		    int ch = 0; 
109.
		    StringBuffer sb = new StringBuffer(); 
110.
		    while ((ch = is.read()) != -1){ 
111.
		      sb.append((char)ch); 
112.
113.
		    answer.setText("> "+sb.toString()); 
114.
		    System.out.println("Server: "+sb.toString()); 
115.
		  } finally{ 
116.
		      ssc.close(); 
117.
		      sc.close(); 
118.
		      is.close(); 
119.
120.
		} catch (IOException x) { 
121.
		    x.printStackTrace(); 
122.
		}	 
123.
124.
	private void client()  
125.
	{	      
126.
		status.setText(""); 
127.
		answer.setText(""); 
128.
		 
129.
        String command = txfCommand.getString(); 
130.
        String ip = txfIp1.getString()+"."+txfIp2.getString()+"."+txfIp3.getString()+"."+txfIp4.getString(); 
131.
        String port = txfPort.getString(); 
132.
        System.out.println("socket://"+ip+":"+port); 
133.
        try{ 
134.
        	  SocketConnection sc = (SocketConnection)Connector.open("socket://"+ip+":"+port); 
135.
        	  OutputStream os = null; 
136.
        	  try{ 
137.
        	    os = sc.openOutputStream(); 
138.
        	    byte[] data = command.getBytes(); 
139.
        	    os.write(data); 
140.
        	  } finally{ 
141.
        	      sc.close(); 
142.
        	      os.close(); 
143.
        	      status.setText("Erfolgreich gesendet!"); 
144.
145.
        	} catch (IOException x){ 
146.
        		x.printStackTrace(); 
147.
        		status.setText(x.toString()); 
148.
        		//status.setText("Senden fehlgeschlagen!"); 
149.
150.
151.
}
Der Java Server:
01.
import java.util.Scanner; 
02.
  
03.
import java.io.*;  
04.
import java.net.*;  
05.
  
06.
public class HandyServer  
07.
{  
08.
  private static void handleConnection( Socket client ) throws IOException  
09.
  {  
10.
    Scanner     in  = new Scanner( client.getInputStream() );  
11.
    PrintWriter out = new PrintWriter( client.getOutputStream(), true );  
12.
  
13.
    String command 	= in.nextLine();  
14.
     		 
15.
    System.out.println(command); 
16.
    
17.
  }  
18.
  public static void main( String[] args ) throws IOException  
19.
  {  
20.
    ServerSocket server = new ServerSocket( 9003 );  
21.
  
22.
    while ( true )  
23.
    {  
24.
      Socket client = null;  
25.
  
26.
      try  
27.
      {  
28.
        client = server.accept();  
29.
        handleConnection ( client );  
30.
      }  
31.
      catch ( IOException e ) {  
32.
        e.printStackTrace();  
33.
      }  
34.
      finally {  
35.
        if ( client != null )  
36.
          try { client.close(); } catch ( IOException e ) { }  
37.
      }  
38.
    }  
39.
  }  
40.
}
Lässt sich daraus irgendetwas schließen?
Muss ein Port gesondert geöffnet werden?
Oder was kann ich probieren?

Gruß, Florian












Ähnliche Inhalte
Router & Routing

Verbindung mit einer Netzwerkfreigabe im Internet schlägt fehl

Frage von trallerRouter & Routing2 Kommentare

Hallo, ich sitze hinter einem DD-WRT Router und wollte eine Netzwerkfreigabe im Internet verbinden, was nicht funktioniert. Zur Verbindung ...

Windows 10

RDP Verbindung auf PC fehlerhaft, auf Handy jedoch problemlos!

Frage von MarcoSwatchWindows 103 Kommentare

Ich greife per RDP von Extern auf meinen Server zu Hause zu. Auf einmal ging die Verbindung von einem ...

Windows Netzwerk

Verbindung aus VirtualBox und Host-PC auf gleiche Serverfreigabe schlägt fehl

gelöst Frage von ReinhardSchwarzWindows Netzwerk3 Kommentare

Hallo, nach der Installation der VirtualBox (Oracle Version 4.3.8-92456) als Windows XP Client will ich auf eine Netzwerkfreigabe am ...

Router & Routing

Spielzeiten auf pc und handy steuern

Frage von fisch56Router & Routing7 Kommentare

Hallo, kurze Frage: Kunde möchte fritzbox 7490 so einrichten ,dass er für die Kinder bestimmte Zeiten festlegt, an denen ...

Neue Wissensbeiträge
Vmware
VMware Update für den ESXi 5.5 verfügbar
Information von sabines vor 4 StundenVmware

Nach dem ganzen Hickhack um Update mit Microcode Anpassungen und Rückzug, gibt es nun für den ESXi 5.5 ein ...

CPU, RAM, Mainboards

Meltdown und Spectre: Intel zieht Microcode-Updates für Prozessoren zurück

Information von keine-ahnung vor 8 StundenCPU, RAM, Mainboards4 Kommentare

Moin, extrem lutztig. Nur gut, dass ich noch nicht beim Probanden-Bingo mitgemacht habe :-) LG, Thomas

Router & Routing
PfSense als Addon auf QNAP
Information von magicteddy vor 21 StundenRouter & Routing3 Kommentare

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 1 TagDatenschutz1 Kommentar

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement26 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Server
TEMP-Profile
gelöst Frage von Forseti2003Windows Server21 Kommentare

Guten Morgen, wer kennt sie nicht, die lieben Temporären Benutzerprofile, vorallem immer dann, wenn man sie am wenigsten braucht. ...

Multimedia & Zubehör
Welches Tablet für die Verkäufer?
Frage von Hendrik2586Multimedia & Zubehör15 Kommentare

Guten Morgen meine Lieben, vielleicht könnt ihr mir ja helfen. Es geht um unsere Außendienstmitarbeiter /Verkäufer. Sie sollen demnächst ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...