How to avoid UDP socket transfers limits? -
How to avoid UDP socket transfers limits? -
i write little programme sends file client server trough udp socket connection.. programme works correctly if file transfer larger 8192 kb stream stops , file receive corrupt.. how can avoid limitation?
server.py
host = ... port = ... filename = ... buf = 2048 addr = (host, port) udpsock = socket(af_inet, sock_dgram) udpsock.bind(addr) f = open(filename, 'wb') block,addr = udpsock.recvfrom(buf) while block: if(block == "!end"): # set "!end" interrupt listener break f.write(block) block,addr = udpsock.recvfrom(buf) f.close() udpsock.close()
client.py
host = ... port = ... filename = ... buf = 2048 addr = (host, port) udpsock = socket(af_inet, sock_dgram) f = open(filename, 'rb') block = f.read(buf) while block: udpsock.sendto(block, addr) block = f.read(buf) udpsock.sendto("!end", addr) f.close() udpsock.close()
you still haven't explained why must utilize udp - isn't designed high volume info transfers doesn't have (simple) congestion management.
if sending voip when not transmit @ real-time, not "as fast possible"?
fwiw, typical voip systems packetise info 20ms chunks or thereabouts. hence if you're using voice codec gsm requires 13 kbps, need chunk 260 bits (~32 bytes) per packet, , send them every 0.02 seconds.
sockets udp limit transfer
Comments
Post a Comment