| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> C /C + + Programming >> Content
    Cómo escribir un programa Socket File Transfer consola simple
    Creación de un programa de socket simple que transfiere un archivo entre dos servidores es una gran manera de ampliar su conocimiento de la programación del zócalo . Un zócalo se une a un puerto específico y se conecta a otro enchufe para crear una conexión de dos vías . Para enviar un archivo , debe crear un socket, ligarlo, escucha de una conexión, aceptar una conexión y luego enviarlo al otro servidor - con ayuda de la función « sendfile " . Instrucciones
    1

    Abra el archivo C en el entorno de desarrollo integrado preferido.
    2

    Incluya los archivos de cabecera para acceder a todos los tipos de datos y funciones necesarias , añadiendo el siguiente código en la parte superior de su archivo :

    # include # include # include # include # include < sistema /sendfile.h > # include # include # include # include # include < stdio . h> # include
    3

    declarar e inicializar las variables necesarias para la toma de transferencia de archivos, añadiendo el siguiente código en la parte superior de su función principal :

    int port = 4455 ; sock_fd int , int sock_desc ; int file_fd ; struct stat stat_buf ; off_t file_offset = 0 ; carbón nombre_archivo [ PATH_MAX ] ; struct addrinfo addr, * rs ; struct sockaddr_in addr1 ; int addrlen ; < br >

    strcpy ( nombre_archivo , " miarchivo.txt ");
    4

    Inicializar las estructuras de dirección , añadiendo el siguiente código:

    memset (& addr, 0 , sizeof addr ) ; addr.ai_family = AF_UNSPEC ; addr.ai_socktype = SOCK_STREAM ; addr.ai_flags = AI_PASSIVE ;

    getaddrinfo (NULL , el puerto , y addr, y rs) ;
    5

    Crear un nuevo socket , ata el casquillo y la colocó para escuchar las conexiones entrantes , añadiendo el siguiente código:

    sock_fd = socket ( rs -> ai_family , rs -> ai_socktype , rs -> ai_protocol ) ; bind ( sockfd , rs -> ai_addr , rs -> ai_addrlen ), escuchar ( sock_fd , 1 ) ;
    6

    Crear un bucle "while" y esperar una conexión entrante , escriba el siguiente código:

    while ( true) { sock_desc = accept ( sock_fd , (struct sockaddr *) y addr1 , y addrlen ) ;
    7 < p> Abra el archivo que desea transferir y enviarlo con la función " sendfile " , añadiendo el siguiente código:

    file_fd = open ( nombre_archivo , O_RDONLY ) ; fstat ( file_fd , y stat_buf ) ;

    file_offset = 0 ; sendfile ( sock_desc , file_fd , y file_offset , stat_buf.st_size ) ;
    8

    cierre el archivo descriptor de socket y la toma una vez que haya terminado de enviar el archivo, añadiendo el siguiente código:

    close ( file_fd ), close ( sock_desc ) ;}

    close ( sock_fd ) ;
    9

    Guardar el archivo de origen . Compilar y ejecutar el programa para enviar un archivo mediante un socket.

    Previous :

    next :
      Artículos relacionados
    ·Mobile Tutorial C # Desarrollo 
    ·Cómo compilar código C como Biblioteca 
    ·Programación para principiantes 
    ·Cómo escribir un programa en C para leer un entero 
    ·¿Cómo funciona el Programa C para mostrar el trabajo …
    ·Cómo compilar C Programas Online 
    ·Cómo arreglar R6025 función virtual pura llamada 
    ·Cómo solucionar el Visual C + + Runtime Library 
    ·Errores comunes en Turbo C 
    ·¿Cuáles son los atributos claves 
      Artículos destacados
    ·Cómo validar una cadena de fecha en jQuery 
    ·Introducción a Enterprise JavaBeans 
    ·Cómo leer un documento de Word con Java 
    ·Cómo leer los archivos DLL 
    ·Cómo introducir una fecha en MYSQL 
    ·JPEG Recuperación 
    ·Cómo aprender Diseño Orientado a Objetos 
    ·Cómo sumar dos números Usando PHP 
    ·Access 2007 Scripts 
    ·Cómo configurar una tabla en MySQL 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com