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, 2534 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
Netzwerkmanagement

Verbindung PC zu Switch schlägt fehl

gelöst Frage von biofritzNetzwerkmanagement15 Kommentare

Guten Abend, ich habe ein Phänomen im Netzwerk, welches ich mir nicht erklären kann: Normalerweise ist der PC meiner ...

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 ...

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
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 5 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 11 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 15 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 1 TagWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...