You might need to allow permission in manifest file to enable ur code to
create server socket.

<uses-permission
android:name="android.permission.INTERNET"></uses-permission>

I am not very sure but this thing worked in my case when i was trying to
create a  UDP socket.

enjoy
Pankaj anad

On Sat, Mar 13, 2010 at 7:07 AM, Larry <lar...@gmail.com> wrote:

> I have tried many tests on how to create a UDP server on android
> phone.
>
> - Devices I was testing:
>
> PC (has static public IP over Internet. has a UDP server running)
> GPhone (it is real phone, not emulator. runs in Tmobile 3G network)
>
> - Send a UDP packet from GPhone to PC:
>
> [On GPhone:]
> // create a sender socket
> DatagramSocket udpClientSocket= new DatagramSocket();
> // send data
> udpClientSocket.send(packet);
>
> [On PC:]
> // create a listener socket
> DatagramSocket udpServerSocket = new DatagramSocket(SERVER_PORT);
> // receive data
> udpServerSocket.receive(packet);
>
> - Send a UDP packet from PC to GPhone
>
> After a whole day testing on this problem, I can only find this
> solution:
>
> [On PC:]
> // get the client's address and port
> address = packet.getAddress();
> port = packet.getPort();
> // create packet to send to client
> packet = new DatagramPacket(....address, port);
> // use the server socket to send a packet
> udpServerSocket.send(packet);
>
> [On GPhone:]
> // use the sender socket to receive data
> udpClientSocket.receive(packet);
>
> With these codes, the client can actually receive packet from server.
> However, there are 2 problems:
>
> 1. YOU HAVE TO USE THE SERVER SOCKET TO SEND
>
> If we change the PC code to:
> .....(same stuff)
> // create a new socket to send data
> DatagramSocket anotherSocket = new DatagramSocket();
> anotherSocket.send(packet);
>
> The phone will never receive the packet.
>
> 2. YOU CANNOT ESTABLISH A UDP SERVER ON GPHONE
>
> If we want to have a UDP server on GPhone just like we have a server
> on PC. So that GPhone can talk to a server on PC and PC can talk to
> another server on GPhone, using DatagramSocket udpGPhoneServerSocket =
> new DatagramSocket(GPHONE_SERVER_PORT) DOES NOT WORK.
>
> I have tried to send a UDP packet from PC to the phone. I tried all
> kinds of ports, addresses, etc. No, it doesn't work.
>
> * * * * * * * * * * * * * * * * * * * * * * * *
>
> OK. Now in my android app, I have over 100 clients (GPhone)
> communicating to the server (PC) at same time. For performance
> concern, I want to create one UDP server socket on PC *ONLY* for
> receiving. Then I create one UDP sending socket per connection on the
> server to send packets back to the phone. Based on my test, since
> establishing a UDP server socket on GPhone is not working. The only
> option left for me is to use the only UDP server socket for both
> receiving and sending.
>
> My questions are:
>
> 1. Am I wrong? (Does any1 have a successful design so that you can
> send a packet from PC to GPhone without reusing the server socket?)
> 2. If I am correct, is it T-mobile blocking all UDPs?
> 3. If I use the *ONLY* server socket for both sending and receiving to
> handle 100+ connections with real-time data exchanging at same time,
> does it have a poor performance? Any better solutions?
>
> Any comments are appreciated!
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to android-developers@googlegroups.com
> To unsubscribe from this group, send email to
> android-developers+unsubscr...@googlegroups.com<android-developers%2bunsubscr...@googlegroups.com>
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to