Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Frage Entwicklung Java

Mitglied: Letavino

Letavino (Level 1) - Jetzt verbinden

22.08.2012 um 16:27 Uhr, 2497 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
Windows Systemdateien
gelöst Sysprep schlägt fehl (10)

Frage von next01de zum Thema Windows Systemdateien ...

Verschlüsselung & Zertifikate
Sperrprüfung für ein Zertifikat schlägt fehl (6)

Frage von MichaCon zum Thema Verschlüsselung & Zertifikate ...

Neue Wissensbeiträge
Rechtliche Fragen

Heiseshow, live ab 12 Uhr: Steht die Vorratsdatenspeicherung vor dem Aus?

Tipp von sabines zum Thema Rechtliche Fragen ...

Outlook & Mail

Outlook Probleme nach Juni Updates - KB3203467 ist Schuld

(1)

Information von Deepsys zum Thema Outlook & Mail ...

Microsoft Office

Windows 7, Office 2016 RTM und Updates ohne WSUS

Tipp von chgorges zum Thema Microsoft Office ...

E-Mail

Thunderbird 52 hat Druckprobleme

(3)

Tipp von magicteddy zum Thema E-Mail ...

Heiß diskutierte Inhalte
Server-Hardware
Einem Stromausfall entgegen wirken (22)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...

DSL, VDSL
gelöst Ständige Störungen - Internet (12)

Frage von gamerff zum Thema DSL, VDSL ...