Problema al pasar archivos por sockets en C

Estoy haciendo un programa y necesito que se puedan pasar archivos a través de los sockets pero el programa se queda pegado el server el cual enviá el archivo y el cliente se pega, también abrir el archivo en modo binario (no se si se dice así) y tampoco funciono . Gracias de antemano.

Esta es para enviar.

void EnviarArchivo( int sock, char Name_file[50] ){  FILE *file; file = fopen(Name_file, "r");  char Buff[1000];  while( fgets( Buff ,1024 ,file) != NULL ){     send(sock, Buff, sizeof(Buff), 0); } send(sock, "Listo.", sizeof("Listo."), 0); fclose(file); 

y esta parte es para recibir.

void RecibirArchivo( int sock, char Name_file[50] ){ FILE *file; char Buff[1000];  file = fopen(Name_file, "w"); while(strcmp(Buff,"Listo.")){     recv( sock ,Buff ,1000 , 0 );     if(strcmp(Buff, "Listo.")){          fputs( Buff, file );     } } fclose(file); 

Si necesitan otra parte del codigo editare el post.

Como exportar a pdf algunos campos de una tabla html con jsPDF

Estoy usando JSPDF para exportar una tabla a pdf , pero la tabla que estoy exportando tiene una columna con botones de acción, el problema es que al exportar la tabla también se exportan los botones y quisiera saber como puedo exportar solo algunas columnas de la tabla para así exportar la tabla menos sin la columna de los botones.

Aca está la tabla

<div class="panel-body panel panel-primary" id="content">                 <form method="POST" action="AdministrarReservasServlet">                     <button type="submit" name="btnMostrarReservas" class="btn btn-primary btn-sm"> <span class="glyphicon glyphicon-refresh"></span> Mostrar</button>                     <button type="button" name="btnVolver" class="btn btn-success btn-sm" onclick="location.href='barraCentral.jsp'"><span class="glyphicon glyphicon-arrow-left"></span> Volver</button>                       <br><br><br>                         <table class="table-condensed table-hover table-responsive" id="resultado">                             <thead>                                     <tr class="">                                     <th class="btn-info">N° Reserva</th>                                     <th class="btn-info">Origen</th>                                     <th class="btn-info">Destino</th>                                     <th class="btn-info" style="display:none">Origen Vuelo</th>                                     <th class="btn-info">Piezas</th>                                     <th class="btn-info">Kilos</th>                                     <th class="btn-info">Volumen</th>                                     <th class="btn-info">Estado</th>                                     <th class="btn-info" style='display:none'>Notas</th>                                     <th class="btn-info">Fecha Creación</th>                                     <th class="btn-info">Fecha Embarque</th>                                     <th class="btn-info">Tipo</th>                                     <th class="btn-info">Prioridad</th>                                     <th class="btn-info" style="display:none">Forma Pago</th>                                     <th class="btn-info" style="display:none">Tarifa</th>                                     <th class="btn-info" style="display:none">Tipo Moneda</th>                                     <th class="btn-info">Rut Cliente</th>                                     <th class="btn-info">Nombre Cliente</th>                                     <th class="btn-info" style="display:none">Telefono Cliente</th>                                     <th class="btn-info" style="display:none">Direccion Cliente</th>                                     <th class="btn-info" style="display:none">Email Cliente</th>                                     <th class="btn-info">Acción</th>                                     <!--<th class="btn-info">Cliente</th>                                     <th class="btn-info">Usuario</th>                                     <th class="btn-info">Acción</th>-->                                  </tr>                             </thead>                             <tbody>  <%                     try           {               for(int i=0; i<adminReservas.size(); i++)                   {                    out.println("<tr>");                       out.println("<td>"+adminReservas.get(i).getNumeroReserva()+"</td>");                     //out.println("<td><input type='text' value='"+adminReservas.get(i).getOrigenReserva()+"' class='input-sm form-control' size='5' readonly='readonly'></td>");                       out.println("<td>"+adminReservas.get(i).getOrigenReserva()+"</td>");                       out.println("<td>"+adminReservas.get(i).getDestinoReserva()+"</td>");                       out.println("<td style='display:none'>"+adminReservas.get(i).getOrigenVueloReserva()+"</td>");                       out.println("<td>"+adminReservas.get(i).getTotalPiezasReserva()+"</td>");                       out.println("<td>"+adminReservas.get(i).getTotalKilosReserva()+"</td>");                       out.println("<td>"+adminReservas.get(i).getTotalVolumenReserva()+"</td>");                       out.println("<td>"+adminReservas.get(i).getEstadoReserva()+"</td>");                       out.println("<td style='display:none'>"+adminReservas.get(i).getNotaReserva()+"</td>");                       out.println("<td>"+adminReservas.get(i).getFechaCreacionReserva()+"</td>");                       out.println("<td>"+adminReservas.get(i).getFechaEmbarqueReserva()+"</td>");                       out.println("<td>"+adminReservas.get(i).getTipoReserva()+"</td>");                       out.println("<td>"+adminReservas.get(i).getPrioridadReserva()+"</td>");                       out.println("<td style='display:none'>"+adminReservas.get(i).getTipoTarifaReserva()+"</td>");                       out.println("<td style='display:none'>"+adminReservas.get(i).getTarifaReserva()+"</td>");                       out.println("<td style='display:none'>"+adminReservas.get(i).getTipoMonedaReserva()+"</td>");                       out.println("<td>"+adminReservas.get(i).getRutCliente()+"</td>");                       out.println("<td>"+adminReservas.get(i).getNombreCliente()+"</td>");                       out.println("<td style='display:none'>"+adminReservas.get(i).getTelefonoCliente()+"</td>");                       out.println("<td style='display:none'>"+adminReservas.get(i).getDireccionCliente()+"</td>");                       out.println("<td style='display:none'>"+adminReservas.get(i).getEmailCliente()+"</td>");                       out.println("<td>"                                 + "<button type='button'  class='btn btn-primary glyphicon glyphicon-eye-open btn-xs' data-toggle='modal' data-target='#exampleModal'></button>"                                 + " <button type='button'  class='btn btn-danger glyphicon glyphicon-trash btn-xs' data-toggle='modal' data-target='#modalAdministrarReservaEliminarReserva'></button>"                               + " <button type='button'  class='btn btn-success glyphicon glyphicon-eye-open btn-xs' onclick=location.href='detalleReserva.jsp'></button>"                               + "</td>");                                             //out.println("<td><a type='button'  href='modificarReservas.jsp?id='"+adminReservas.get(i).getNumeroReserva()+"' '  class='btn btn-primary glyphicon glyphicon-eye-open' style='font-size:19px'></button></td>");                                             //out.println("<td><input type='checkbox' name='check_guia' class='form-control checkbox' value='"+adminReservas.get(i).getNumeroReserva()+"'></td>");                                         }             }      catch(java.lang.NullPointerException ex)          {                      ex.getMessage();                    //out.print("<input type='text' value='"+ex.getMessage()+"'>");                      out.print("</tr>");          }   %>         </tbody>            </table> 

</div> 

Aca el codigo jquery para exportar

<script type="text/javascript">     function Export() {         html2canvas(document.getElementById('resultado'), {             onrendered: function (canvas) {                 var data = canvas.toDataURL();                 var docDefinition = {                     content: [{                         image: data,                         width: 500                     }]                 };                 pdfMake.createPdf(docDefinition).download("Table.pdf");             }         });     } </script> 

Acá el botón que ejecuta la función.

<input type="button" id="btnExport" value="Export" onclick="Export()" /> 

Acá el pdf de la tabla exportada.

introducir la descripción de la imagen aquí

espero su ayuda gracias.

¿Porque se me cambian algunos valores sin asignarlos? (Solo mostrando en consola)

tengo una duda… resulta que usando JavaScript y la sintaxis de ES6, y dividiendo mi código con ellos haciendo uso de la sentencia export e import, me di cuenta de que por alguna extraña razón, cuando trato de usar una función que retorna un nuevo arreglo y que es el resultado de una pequeña operación entre cada uno de los elementos de un arreglo bidimensional, me di cuenta de lo siguiente:

Tengo objetos creados aparte, tales como piezas, el jugador que controla cada pieza etc. (Ando creando un tetris), la función la ejecuta la clase jugador, y dentro de la clase jugador el constructor tiene un arreglo de piezas inicialmente vacio, la función que intento ejecutar recibe como parametro (Solo como prueba para las primeras dos piezas), una matriz que contiene las filas de la pieza en cuestión (A su vez, cada fila es un arreglo de numeros), tambien recibe como parametro el lado izquierdo de la pieza en el espacio (como coordenada x), y por ultimo, el ancho de cada “pixel”, que conforma la pieza.

Una de las piezas que recibe esta función se vería así tal cual:

[    [0,1,1],                //Pieza S    [1,1,0] ]; 

Cabe destacar que tengo una constante exportada en otro archivo, la cual la importo en otros, estas son las piezas en su estado original, la constante la renombre a SHAPES, ya que pensé que tal vez era por eso que no servia el código bien sin embargo no es eso…, apartir de SHAPES… en la clase del objeto pieza lo que hago es que apartir de un numero aleatorio entre 0 y 6, el constructor seteara uno de los atributos al que llame: “innerShape” como una copia de la pieza especifica correspondiente al numero aleatorio, esto lo hago con la función map(), entonces innerShape con una de las piezas seria por ejemplo la pieza de mas arriba.

Esta es la función:

function toPointMatrix(matrix,left, pixelH){      let newMatrix = matrix;      for(let i = 0; i < newMatrix.length; i++){          for(let j = 0; j < newMatrix[i].length; j++){              if(newMatrix[i][j] !== 0){                  newMatrix[i][j] = left + (pixelH * j);              }else{                  newMatrix[i][j] = -1;              }          }      }      return newMatrix;  } 

y la forma en como la estuve invocando (de momento solo para probarla para ver el resultado en consola) es esta:

 console.log(toPointMatrix(SHAPES[num_aleatorio], 0, 40)); 

Lo raro es que cuando hago un console.log (No asigno el resultado de esa función a ninguna variable ni nada o si??), entonces mi pregunta es…

¿Porqué cuando invoco esta función para ver el resultado en consola, se me cambia el arreglo original si no le estoy diciendo que cambie?

¿como solucionar undefined reference to CreateCompatibleDC en dev c++?

he copiado y pegado este codigo

void GetScreenShot(void) { int x1, y1, x2, y2, w, h;  // get screen dimensions x1  = GetSystemMetrics(SM_XVIRTUALSCREEN); y1  = GetSystemMetrics(SM_YVIRTUALSCREEN); x2  = GetSystemMetrics(SM_CXVIRTUALSCREEN); y2  = GetSystemMetrics(SM_CYVIRTUALSCREEN); w   = x2 - x1; h   = y2 - y1;  // copy screen to bitmap HDC     hScreen = GetDC(NULL); HDC     hDC     = CreateCompatibleDC(hScreen); HBITMAP hBitmap = CreateCompatibleBitmap(hScreen, w, h); HGDIOBJ old_obj = SelectObject(hDC, hBitmap); BOOL    bRet    = BitBlt(hDC, 0, 0, w, h, hScreen, x1, y1, SRCCOPY);  // save bitmap to clipboard OpenClipboard(NULL); EmptyClipboard(); SetClipboardData(CF_BITMAP, hBitmap); CloseClipboard();     // clean up SelectObject(hDC, old_obj); DeleteDC(hDC); ReleaseDC(NULL, hScreen); DeleteObject(hBitmap); } 

pero cuando lo compilo me arroja el error undefined reference to _imp_CreateCompatibleDC, undefined reference to imp_SelectObject y asi sucesivamente con varias funciones, simplemente he incluido lalibreria windows.h

Es posible acceder al siguiente JSON?

estoy intentando procesar la data brindada de: Twitch Helix (API).

Lo que me envian es el siguiente Object.

{"data":   [{    "id":"user_id",       "login":"user_login",          "display_name":"user_ds",            "type":"","broadcaster_type":"partner",               "description":"user_desc",               "profile_image_url":"url",               "offline_image_url":"url",               "view_count":123     },     {     "id":"user_id",      "login":"user_login",        "display_name":"user_ds",           "type":"","broadcaster_type":"partner",            "description":"user_desc",           "profile_image_url":"url",            "offline_image_url":"url",              "view_count":123      }   ] } 

Utilize PHP: json_decode() para ver exactamente como estaba estructurado. Resultado:

  array (     'data' =>      array (       0 =>        array (         'id' => 'user_id',         'login' => 'user_login',         'display_name' => 'user_ds',         'type' => '',         'broadcaster_type' => 'partner',         'description' => 'user_desc',         'profile_image_url' => 'url',         'offline_image_url' => 'url',         'view_count' => 123,       ),       1 =>        array (         'id' => 'user_id',         'login' => 'user_login',         'display_name' => 'user_ds',         'type' => '',         'broadcaster_type' => 'partner',         'description' => 'user_desc',         'profile_image_url' => 'url',         'offline_image_url' => 'url',         'view_count' => 123,       ),     ),   ) 

Utilize Javascript con: JSON.stringify y luego intente acceder mediante:

    var datos = JSON.stringify(json);     console.log(datos.data); 

Pero el resultado fue: datos.data undefined. Intente otras maneras pero ya estoy confundido.

Tampoco se me ocurre si recorrerlo con un for o while o al tener jQ un $ .each()

Gracias.

Configurar payara detras de un proxy (nginx)

Estoy ocupando la imagen docker github.com/jwilder/nginx-proxy que actua como proxy y detras tengo una servidor payara (imagen oficial github.com/payara/docker-payaraserver-full), Hasta el momento tengo esta configuracion en el servidor nginx:

user  nginx; worker_processes  1;  error_log  /var/log/nginx/error.log warn; pid        /var/run/nginx.pid;   events {     worker_connections  1024; }   http {     include       /etc/nginx/mime.types;     default_type  application/octet-stream;      log_format  main  '$  remote_addr - $  remote_user [$  time_local] "$  request" '                       '$  status $  body_bytes_sent "$  http_referer" '                       '"$  http_user_agent" "$  http_x_forwarded_for"';      access_log  /var/log/nginx/access.log  main;      sendfile        on;     #tcp_nopush     on;      keepalive_timeout  65;      #gzip  on;      # scheme used to connect to this server     map $  http_x_forwarded_proto $  proxy_x_forwarded_proto {       default $  http_x_forwarded_proto;       ''      $  scheme;     }     # If we receive X-Forwarded-Port, pass it through; otherwise, pass along the     # server port the client connected to     map $  http_x_forwarded_port $  proxy_x_forwarded_port {       default $  http_x_forwarded_port;       ''      $  server_port;     }     # If we receive Upgrade, set Connection to "upgrade"; otherwise, delete any     # Connection header that may have been passed to this server     map $  http_upgrade $  proxy_connection {       default upgrade;       '' close;     }     # Apply fix for very long server names     server_names_hash_bucket_size 128;     # Default dhparam     # Set appropriate X-Forwarded-Ssl header     map $  scheme $  proxy_x_forwarded_ssl {       default off;       https on;     }     gzip_types text/plain text/css application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;     log_format vhost '$  host $  remote_addr - $  remote_user [$  time_local] '                      '"$  request" $  status $  body_bytes_sent '                      '"$  http_referer" "$  http_user_agent"';     access_log off;     # HTTP 1.1 support     proxy_http_version 1.1;     proxy_buffering off;     proxy_set_header Host $  http_host;     proxy_set_header Upgrade $  http_upgrade;     proxy_set_header Connection $  proxy_connection;     proxy_set_header X-Real-IP $  remote_addr;     proxy_set_header X-Forwarded-For $  proxy_add_x_forwarded_for;     proxy_set_header X-Forwarded-Proto $  proxy_x_forwarded_proto;     proxy_set_header X-Forwarded-Ssl $  proxy_x_forwarded_ssl;     proxy_set_header X-Forwarded-Port $  proxy_x_forwarded_port;     # Mitigate httpoxy attack (see README for details)     proxy_set_header Proxy "";      server {         server_name _;         listen 80;         access_log /var/log/nginx/access.log vhost;         return 503;     }      # admin.payara.solay.ga     upstream admin.payara.solay.ga {         server 172.23.0.2:4848;     }      server {             server_name admin.payara.solay.ga;             listen 80 ;             access_log /var/log/nginx/access.log vhost;             location / {                     proxy_pass https://admin.payara.solay.ga;             }     }      # debug.payara.solay.ga     upstream debug.payara.solay.ga {         server 172.23.0.2:9009;     }      server {             server_name debug.payara.solay.ga;             listen 80 ;             access_log /var/log/nginx/access.log vhost;             location / {                     proxy_pass https://debug.payara.solay.ga;             }     }      # deploy.payara.solay.ga     upstream deploy.payara.solay.ga {         server 172.23.0.2:8181;     }      server {             server_name deploy.payara.solay.ga;             listen 80 ;             access_log /var/log/nginx/access.log vhost;             location / {                     proxy_pass https://deploy.payara.solay.ga;             }     } 

con esa configuracion puedo acceder a deploy.payara.solay.ga y a debug.payara.solay.ga pero a la consola de administracion de payaya no puedo acceder, cuando ingreso a la URL admin.payara.solay.ga me devuelve un mensaje “Sorry, we couldn’t find that site.” y en los logs del contendor nginx no obtengo ningun registro.

Informacion Extra:

Estos son los puertos que expone la imagen de payara

  • 8080 – HTTP listener

  • 8181 – HTTPS listener

  • 4848 – HTTPS admin listener

  • 9009 – Debug port

Capturar y procesar de Información en tiempo real

Estoy desarrollando una aplicación la que requiere analizar capturar y procesar información en tiempo real en java, para solucionar este problema tengo pensado que utilice un hilo para capturar información durante periodos de tiempo X y que la procese para dar una respuesta, el problema es que durante el tiempo que deje de capturar para ponerse a procesar perderá información que no estará capturando, mi idea es usar dos hilos captura/proceso para que mientras uno se ocupa de procesar el otro captura, mi pregunta es:

¿Existe un sistema, modelo o método en la informática para este problema?

Necesito investigarlo para implementar esta función eficientemente.

introducir la descripción de la imagen aquí

¿ERROR AL AÑADIR PRODUCTOS WOOCOMERCE?

Hola estoy teniendo problemas con mi pagina a la hora de añadir un producto al carrito el boton de añadir se queda cargando y no añade y me manda este error en la consola:

TypeError: c.attr(...) is undefined[Saber más] xoo-wsc-public.min.js:1:4146      <anonymous> https://www.mutantshop.mx/assets/scripts/side-cart-woocommerce/public/js/xoo-wsc-public.min.js:1 dispatch2jQuery 

ya intente editar el archivo sin embargo no logro solucionarlo, para replicar el error basta con entrar a cualquier producto y añadirlo desde la vista de productos, aqui dejo un link https://www.mutantshop.mx/tienda/mutant-caseina-micellar-4-lbs

Aqui dejo el file xoo-wsc-public.min.js;

jQuery(document).ready(function(o){"use strict";function t(){if(window.wc_checkout_params&&"1"===wc_checkout_params.is_checkout){if(0===o("form.checkout").length)return void location.reload();o(document.body).trigger("update_checkout")}window.wc_add_to_cart_params&&window.wc_add_to_cart_params.is_cart&&"1"===wc_add_to_cart_params.is_cart&&o(document.body).trigger("wc_update_cart")}function c(t){var c=o(".xoo-wsc-modal , body"),a="xoo-wsc-active";"show"==t?c.addClass(a):"hide"==t?c.removeClass(a):c.toggleClass("xoo-wsc-active"),o(".xoo-wsc-updating").hide()}function a(){var t=o(".xoo-wsc-header").outerHeight(),c=o(".xoo-wsc-footer").outerHeight(),a=o(window).height();o(".xoo-wsc-body").height(a-(t+c))}function e(){o(".xoo-wsc-updating").show()}function r(t){o.each(t.target.classList,function(t,c){"xoo-wsc-container"==c||"xoo-wsc-close"!=c&&"xoo-wsc-opac"!=c&&"xoo-wsc-basket"!=c&&"xoo-wsc-cont"!=c||o(".xoo-wsc-modal , body").removeClass("xoo-wsc-active")})}function n(t,a){o(document.body).trigger("adding_to_cart",[t,a]),o.ajax({url:xoo_wsc_localize.wc_ajax_url.toString().replace("%%endpoint%%","xoo_wsc_add_to_cart"),type:"POST",data:o.param(a),success:function(a){!function(o){if(1!=xoo_wsc_localize.atc_icons)return;o.find(".xoo-wsc-icon-atc").attr("class","xoo-wsc-icon-checkmark xoo-wsc-icon-atc")}(t),a.fragments?o(document.body).trigger("added_to_cart",[a.fragments,a.cart_hash,t]):a.error?(s("error",a.error),c("show")):console.log(a)}})}function s(t,c){o(".xoo-wsc-notice").html(c).attr("class","xoo-wsc-notice").addClass("xoo-wsc-nt-"+t),o(".xoo-wsc-notice-box").fadeIn("fast"),clearTimeout(a);var a=setTimeout(function(){o(".xoo-wsc-notice-box").fadeOut("slow")},2e3)}o(document.body).on("wc_fragment_refresh",e),o(document.body).on("wc_fragments_refreshed wc_fragments_loaded",function(){a()}),xoo_wsc_localize.added_to_cart||o(document.body).trigger("wc_fragment_refresh"),o(document.body).on("xoo_wsc_cart_updated",t),o(".xoo-wsc-basket").on("click",c),xoo_wsc_localize.trigger_class&&o("."+xoo_wsc_localize.trigger_class).on("click",c),a(),o(window).resize(function(){a()}),function(){if(xoo_wsc_localize.added_to_cart){var t=!1;o(document).on("wc_fragments_refreshed",function(){t||(setTimeout(c,1,"show"),t=!0)})}}(),o(document).on("added_to_cart",function(a,e,r,n){1==xoo_wsc_localize.auto_open_cart&&setTimeout(c,1,"show"),1==xoo_wsc_localize.atc_reset&&function(t){o(".xoo-wsc-icon-atc",t).remove();var c=t.parents("form.cart").find(".qty");c.length>0&&c.val(c.attr("min")||1),o(".added_to_cart").remove()}(n),t()}),o("body").on("click",".xoo-wsc-close , .xoo-wsc-opac",function(o){o.preventDefault(),r(o)}),o("body").on("click",".xoo-wsc-cont",function(t){var c=o.trim(o(this).attr("href"));"#"!=c&&c||(t.preventDefault(),r(t))}),o(document).on("click",".xoo-wsc-remove",function(t){t.preventDefault(),e();var c,a,r=o(this).parents(".xoo-wsc-product").data("xoo_wsc");c=r,a=0,o.ajax({url:xoo_wsc_localize.wc_ajax_url.toString().replace("%%endpoint%%","xoo_wsc_update_cart"),type:"POST",data:{cart_key:c,new_qty:a},success:function(t){if(t.fragments){var c=t.fragments,a=t.cart_hash;if(o.each(t.fragments,function(t,c){o(t).replaceWith(c),o(t).stop(!0).css("opacity","1").unblock()}),wc_cart_fragments_params){var e=wc_cart_fragments_params.ajax_url.toString()+"-wc_cart_hash";sessionStorage.setItem(wc_cart_fragments_params.fragment_name,JSON.stringify(c)),localStorage.setItem(e,a),sessionStorage.setItem(e,a)}o(document.body).trigger("wc_fragments_loaded"),o(document.body).trigger("xoo_wsc_cart_updated")}else s("error",t.error)}})}),1==xoo_wsc_localize.ajax_atc&&o(document).on("submit","form.cart",function(t){t.preventDefault(),e();var c=o(this),a=c.find('button[type="submit"]');!function(o){if(1!=xoo_wsc_localize.atc_icons)return;0!==o.find(".xoo-wsc-icon-atc").length?o.find(".xoo-wsc-icon-atc").attr("class","xoo-wsc-icon-spinner2 xoo-wsc-icon-atc xoo-wsc-active"):o.append('<span class="xoo-wsc-icon-spinner2 xoo-wsc-icon-atc xoo-wsc-active"></span>')}(a);var r=c.serializeArray(),s=!1;if(o.each(r,function(o,t){if(("product_id"===t.name||"add-to-cart"===t.name)&&t.value)return s=!0,!1}),!s)var i=c.attr("action").match(/add-to-cart=([0-9]+)/),_=!!i&&i[1];if(a.attr("name")&&"add-to-cart"==a.attr("name")&&a.attr("value"))_=a.attr("value");_&&r.push({name:"add-to-cart",value:_}),r.push({name:"action",value:"xoo_wsc_add_to_cart"}),n(a,r)})});

¿Cómo superponer elementos por encima de un background con transparencia y textura?

Estoy realizando un Sistema Web responsivo, en el cual tenemos un fondo con transparencia y textura, sobre el cual se quiere agregar elementos que no queden por debajo de la transparencia.

Ejemplo

html,*{ 	margin:0; 	padding:0; 	width: 100%; 	height: 100%; }  .fondoLogin{ 		max-width: 100%; 		max-height: 100%; 	background-color: red;   } 	.fondoLogin:before{ 		content: ""; 		background-color: #000000; 		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23868489' fill-opacity='1' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E"); 		opacity: 0.3; 		top: 0;     	left: 0;     	bottom: 0;     	right: 0; 		position: absolute; 		z-index: 2; 	}
<!DOCTYPE html> <html> <head> 	<meta charset="utf-8"> 	<meta name="viewport" content="width=device-width, initial-scale=1.0"> 	<title>Inicio de Sesión</title>  <link rel="stylesheet" href="css/bootstrap/bootstrap.css"> </head> <body>  <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12 fondoLogin"> 	<h1>Ejemplo</h1> </div>  <script src="js/jsBootstrap/bootstrap.js"></script> <script src="js/jQuery/jquery-3.3.1.js"></script> <script src="js/consultas/procGenerales.js"></script> <script src="js/consultas/login.js"></script> </body> </html>

lo que deseo es que el texto Ejemplo este por encima de la transparencia y de esta manera poder trabajar de manera responsiva