Allgemein: Daten über Wifi

  • Antworten:5
Peter Hansen
  • Forum-Beiträge: 9

04.09.2013, 16:00:20 via Website

Hi! :)

Welche möglichkeiten gibt es alles Daten vom Smartphone an einen PC zu schicken?
Die Wifi Verbindung ist erfolgreich eingerichtet, und ich habe auch IP von beiden zur verfügung.
Die Kommunikation darf so einfach sein wie möglich.
Smartphone sendet und PC empfängt. Kein Handshake etc. einfach nur "wenn an, dann senden".

Smartphone Andorid (4.2.2)
PC Win7 c++ zielsprache.

Antworten
impjor
  • Forum-Beiträge: 1.793

04.09.2013, 16:03:39 via Website

Wo liegt dein Problem? Wenn dein PC als Server fungiert, einfach über ein Socket. Musst du halt Port und IP wissen.

VG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Peter Hansen
  • Forum-Beiträge: 9

04.09.2013, 16:46:20 via Website

ja genau das hab ich ja gemacht.
nur ich krieg kein UDP socket geöffnet auf dem Smartphone. Jedes mal "cant assign adress" error..

Antworten
LitteM
  • Forum-Beiträge: 141

04.09.2013, 17:54:49 via Website

Poste doch bitte noch deinen code dazu :)

Antworten
Peter Hansen
  • Forum-Beiträge: 9

04.09.2013, 18:29:14 via Website

gern.

1public EtherCom(String IPAdd, int Port)
2 {
3 m_SERVER_IP = "192.168.173.1";
4 m_SERVERPORT = 5555;
5 init();
6 }
7
8 public void init()
9 {
10 try
11 {
12 m_SERVERADDR = InetAddress.getByName(m_SERVER_IP);
13 m_DGSock = new DatagramSocket(m_SERVERPORT, m_SERVERADDR);
14 m_isConnected = true;
15 Log.d("CL90" ,"Socked Created");
16 }
17 catch (UnknownHostException e)
18 {
19 m_isConnected = false;
20 Log.d("CL90" ,"Socked: Fail UnknownHost");
21 }
22 catch (IOException e)
23 {
24 m_isConnected = false;
25 Log.d("CL90" ,"Socked_Fail: " + e.getMessage());
26 }
27 }


m_DGSock = new DatagramSocket(m_SERVERPORT, m_SERVERADDR);
wirft immer cannot assign adress...


Mehr Infos:
Eine andere App kann mit exakt der gleichen IP (192.168.173.1) mit selben port (5555) daten senden die ich am PC empfange.
Und nein, ich hab nicht vergessen die andere App auszumachen.

— geändert am 04.09.2013, 18:42:57

Antworten
LitteM
  • Forum-Beiträge: 141

05.09.2013, 07:36:10 via Website

UDP ist doch verbindungslos - demnach musst du das doch nicht erst zum "server" connecten.
Registriere den DatagramSocket einfach auf einen freien Port auf deinem Smartphone, erstelle ein neues DatagramPacket (welchem du den payload, Zieladresse etc) übergibst und schick dann dieses Paket über den erstellten Socket raus.

Beispiel:

1DatagramSocket socket;
2socket = new DatagramSocket(port);
3
4String data = "Nachricht1";
5byte[] buffer = data.getBytes();
6
7DatagramPacket udpPacket = new DatagramPacket(buffer, buffer.length, InetAddress.getByName(IP), port);
8
9socket.send(udpPacket);

Antworten