java - Sending UDP packages from ANDROID 2.2 (HTC desire) -
i have lan , want send upd message android (htc desire) pc. theres wlan router between them. problem is, upd message never gets pc.
code on android.:
package org.example.androidapp; import java.net.datagrampacket; import java.net.datagramsocket; import java.net.inetaddress; public class udpclientand { public void sendudpmessage(int port) throws java.io.ioexception { datagramsocket socket = new datagramsocket(); inetaddress serverip = inetaddress.getbyname("192.168.1.110"); byte[] outdata = ("ping").getbytes(); datagrampacket out = new datagrampacket(outdata,outdata.length, serverip,50005); socket.send(out); socket.close(); } }
i choose high port on booth sides.
the permissions on android are:
uses-permission android:name="android.permission.internet" uses-permission android:name="android.permission.change_wifi_multicast_state"
the server-side pc simple programm receiving:
package org.example.androidapp; import java.io.ioexception; import java.net.datagrampacket; import java.net.datagramsocket; import java.net.inetaddress; import java.net.socketexception; public class updserverand implements runnable{ public void run(){ byte[] indata = new byte[48]; byte[] outdata = new byte[48]; string message; datagramsocket socket; try { socket = new datagramsocket(50005); while (true) { datagrampacket in = new datagrampacket(indata,indata.length); socket.receive(in); inetaddress senderip = in.getaddress(); int senderport = in.getport(); message=new string(in.getdata(),0,in.getlength()); system.out.println("got "+message+" "+senderip+","+senderport); outdata = "pong".getbytes(); datagrampacket out = new datagrampacket(outdata,outdata.length, senderip,senderport); socket.send(out); } } catch (socketexception e) { e.printstacktrace(); } catch (ioexception e) { e.printstacktrace(); } } }
so why there no udp package visible coming android? wireshark shows arp packages. plz :)
i having similar problem. solution add:
uses-permission android:name="android.permission.internet" uses-permission android:name="android.permission.access_network_state" uses-permission android:name="android.permission.change_wifi_multicast_state"
to manifest.xml
file. disabled windows firewall
, worked. able send string
droid
pc.
Comments
Post a Comment