Autor
|
Tema: Envio mensaje por bloques en socket (Leído 1,440 veces)
|
jorgedl
Desconectado
Mensajes: 1
|
Hola, necesito enviar paquetes de datos por bloques a través de un socket. Yo tengo un puntero de tipo uchar con el mensaje completo, y una variable de tipo int con la longitud del mismo. La conexión del socket ya la tengo hecha perfectamente, solo necesito una ayuda de como lograr ir enviando el mensaje por bloques de 1024 ya que estuve probando con varios ejemplos y con ninguno pude conseguirlo.
Algo así es lo que intento resolver:
BOOL enviarMensaje( UCHAR *sSndData, UINT16 ulSndDataLen) {
#define SEND_MAX_SIZE 1024 int handle=-1; short retVal =-1 ; int totalEnviados=0;
handle=CrearSocket(sTCPAddress,ulTCPPort); timeout.tv_sec = 2; //segundos timeout.tv_usec = 100; //microsegundos setsockopt(handle,SOL_SOCKET,SO_RCVTIMEO,(char*)&timeout,sizeof(timeout));
timeout.tv_sec = 2; timeout.tv_usec = 100; setsockopt(handle, SOL_SOCKET,SO_PKTRCVTIMEO,(char*)&timeout,sizeof(timeout));
if(handle >=0) { while(totalEnviados<ulSndDataLen){ retVal = send(handle,sSndData,SEND_MAX_SIZE,0); totalEnviados+= retVal; } closesocket(handle); } }
Agradezco cualquier ayuda al respecto Saludos
Jorge
|
|
|
En línea
|
|
|
|
OmarHack
Desconectado
Mensajes: 1.268
|
Los packetes se pueden partir en la transmisión, tcp lo permite. No lo puedes controlar. Tu propio ISP lo puede hacer. Sabiendo esto. Puede que te esté capando el SO. El kernel te duplica el buffer para dejar sitio. Y también te pone limitaciones y te establece el tamaño por defecto en: /proc/sys/net/core/wmem_default /proc/sys/net/core/wmem_max /proc/sys/net/ipv4/tcp_mem
Puedes cambiarle los valores con el editor de texto.
O usa SO_SNDBUFFORCE para ignorar el cap del OS en wmem_max.
|
|
|
En línea
|
I like to test things.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Bloques
Scripting
|
Herzius
|
2
|
2,850
|
22 Enero 2008, 23:35 pm
por ~[uNd3rc0d3]~
|
|
|
Multithread Socket (Thread per Socket)not Complete
« 1 2 »
Programación Visual Basic
|
ntaryl
|
12
|
9,266
|
10 Febrero 2012, 18:42 pm
por ntaryl
|
|
|
Máscaras y bloques de bits
Programación C/C++
|
loryisus
|
6
|
2,805
|
7 Marzo 2014, 20:16 pm
por eferion
|
|
|
¿Qué es la Cadena de Bloques (Blockchain)?
Foro Libre
|
DISCIPULUS
|
9
|
6,710
|
29 Mayo 2017, 20:52 pm
por Orubatosu
|
|
|
Necesito ayuda para descifrar un mensaje que nos envió un antiguo empleado.
Dudas Generales
|
cesarvidal
|
5
|
4,040
|
22 Septiembre 2021, 00:08 am
por MCKSys Argentina
|
|