Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   HELP!!! How do I send an ACK packet in UDP????? (http://www.velocityreviews.com/forums/t360271-help-how-do-i-send-an-ack-packet-in-udp.html)

myersoft@gmail.com 07-25-2006 02:23 AM

HELP!!! How do I send an ACK packet in UDP?????
 
I need my udp server to send an ACK back to the client when it
successfully receives data from the client to let it know not to retry
the send (yes, I do know this is how TCP works but must be in UDP)
I am using this example code I found on the net for the server, I need
to figure out how to get the ip and port that the client transmitted
from and return an ack response. Any help would be greatly
appreciated..........

from socket import *

# Set the socket parameters
host = "localhost"
port = 21567
buf = 1024
addr = (host,port)

# Create socket and bind to address
UDPSock = socket(AF_INET,SOCK_DGRAM)
UDPSock.bind(addr)

# Receive messages
while 1:
data,addr = UDPSock.recvfrom(buf)
if not data:
print "Client has exited!"
break
else:
print "\nReceived message '", data,"'"

# Close socket
UDPSock.close()


Joe Knapka 07-25-2006 04:11 AM

Re: HELP!!! How do I send an ACK packet in UDP?????
 
myersoft@gmail.com wrote:

> I need my udp server to send an ACK back to the client when it
> successfully receives data from the client to let it know not to retry
> the send (yes, I do know this is how TCP works but must be in UDP)
> I am using this example code I found on the net for the server, I need
> to figure out how to get the ip and port that the client transmitted
> from and return an ack response. Any help would be greatly
> appreciated..........
>
> from socket import *
>
> # Set the socket parameters
> host = "localhost"
> port = 21567
> buf = 1024
> addr = (host,port)
>
> # Create socket and bind to address
> UDPSock = socket(AF_INET,SOCK_DGRAM)
> UDPSock.bind(addr)
>
> # Receive messages
> while 1:
> data,addr = UDPSock.recvfrom(buf)


Um... There's the sender's address, right there,
per the documentation for recvfrom(), which you
seem to have read, since you know recvfrom()
returns a 2-item sequence.

No doubt you realized that seconds after hitting
"send".

-- JK

Joe Knapka 07-25-2006 04:11 AM

Re: HELP!!! How do I send an ACK packet in UDP?????
 
myersoft@gmail.com wrote:

> I need my udp server to send an ACK back to the client when it
> successfully receives data from the client to let it know not to retry
> the send (yes, I do know this is how TCP works but must be in UDP)
> I am using this example code I found on the net for the server, I need
> to figure out how to get the ip and port that the client transmitted
> from and return an ack response. Any help would be greatly
> appreciated..........
>
> from socket import *
>
> # Set the socket parameters
> host = "localhost"
> port = 21567
> buf = 1024
> addr = (host,port)
>
> # Create socket and bind to address
> UDPSock = socket(AF_INET,SOCK_DGRAM)
> UDPSock.bind(addr)
>
> # Receive messages
> while 1:
> data,addr = UDPSock.recvfrom(buf)


Um... There's the sender's address, right there,
per the documentation for recvfrom(), which you
seem to have read, since you know recvfrom()
returns a 2-item sequence.

No doubt you realized that seconds after hitting
"send".

-- JK

myersoft@gmail.com 07-25-2006 10:48 PM

Re: HELP!!! How do I send an ACK packet in UDP?????
 
Yes, you were right it was already there (sorry, my mistake), the
bigger problem is how do I send an ack packet????????

Joe Knapka wrote:
> myersoft@gmail.com wrote:
>
> > I need my udp server to send an ACK back to the client when it
> > successfully receives data from the client to let it know not to retry
> > the send (yes, I do know this is how TCP works but must be in UDP)
> > I am using this example code I found on the net for the server, I need
> > to figure out how to get the ip and port that the client transmitted
> > from and return an ack response. Any help would be greatly
> > appreciated..........
> >
> > from socket import *
> >
> > # Set the socket parameters
> > host = "localhost"
> > port = 21567
> > buf = 1024
> > addr = (host,port)
> >
> > # Create socket and bind to address
> > UDPSock = socket(AF_INET,SOCK_DGRAM)
> > UDPSock.bind(addr)
> >
> > # Receive messages
> > while 1:
> > data,addr = UDPSock.recvfrom(buf)

>
> Um... There's the sender's address, right there,
> per the documentation for recvfrom(), which you
> seem to have read, since you know recvfrom()
> returns a 2-item sequence.
>
> No doubt you realized that seconds after hitting
> "send".
>
> -- JK



Joe Knapka 07-25-2006 11:20 PM

Re: HELP!!! How do I send an ACK packet in UDP?????
 
myersoft@gmail.com wrote:

> Yes, you were right it was already there (sorry, my mistake), the
> bigger problem is how do I send an ack packet????????


Look at the docs for socket.sendto(). Of course, deciding
what data should be in your "ACK" packet is for you to decide.

Cheers,

-- JK

Rob Sinclar 07-26-2006 01:53 AM

Re: HELP!!! How do I send an ACK packet in UDP?????
 
On Wednesday 26 July 2006 00:48, myersoft@gmail.com wrote:
> how do I send an ack packet????????


UDP stands for User Datagram Protocol. Ther'es no ack like in TCP.
Define your own protocol ie when machine1 sends the string "ACK",
machine2 has the acknowledge it wanted.

Regards,
Rob


All times are GMT. The time now is 11:01 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.