![]() |
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() |
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 |
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 |
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 |
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 |
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 02:17 AM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.