angwy83
December 10th, 2007, 03:17 AM
Hi, I wanna ask about how I can send more than 1500bytes using UDP sendto() as well as doing it on a non blocking receiving mode.
Heres a an implementation of the send function I have tried but I think its not ideal. How do I fragment data and reassemble them on recv side.
Assume data is a char array of size "data[5000]"
while(total < len) {
n = sendto(sd, data+total, len, 0, (struct sockaddr *)&client, client_length);
if (n == -1){
fprintf(stderr, "Error Sending Datagram.\n");
closesocket(sd);
WSACleanup();
return -1;
break;
}
total += n;
bytesleft -= n;
}
sprintf(msg,"[Sucessfully sent %d bytes of data.]\n [Msg:%s] \n", len, data);
return 0;
Thanks
Heres a an implementation of the send function I have tried but I think its not ideal. How do I fragment data and reassemble them on recv side.
Assume data is a char array of size "data[5000]"
while(total < len) {
n = sendto(sd, data+total, len, 0, (struct sockaddr *)&client, client_length);
if (n == -1){
fprintf(stderr, "Error Sending Datagram.\n");
closesocket(sd);
WSACleanup();
return -1;
break;
}
total += n;
bytesleft -= n;
}
sprintf(msg,"[Sucessfully sent %d bytes of data.]\n [Msg:%s] \n", len, data);
return 0;
Thanks