Colección de citas famosas - Consulta de diccionarios - ¿Qué puerto utilizas para la transmisión Feige?

¿Qué puerto utilizas para la transmisión Feige?

Recientemente vi que algunos amigos encontraron algunos problemas al escribir programas de red, así que publiqué los documentos traducidos cuando estaba haciendo IPMSG en el pasado. Espero que sean útiles para los principiantes en programación de redes y los estudiantes. que estén buscando proyectos de programación. También puede consultar este documento para escribir su propio IPMSG.

Este artículo solo contiene la traducción al chino de algunos de los comandos y mecanismos operativos más importantes. Para obtener más detalles, consulte el documento en inglés del protocolo IPMSG al final del artículo.

>Declaración: El siguiente contenido del protocolo Se han omitido algunos contenidos del protocolo que no se utilizaron en el proceso de escritura del programa. El protocolo Ipmsg original fue escrito en japonés. El siguiente contenido del protocolo fue traducido por mí mismo (cugb_cat) del inglés del Sr. Kanazawa. documento. Este documento traducido se puede distribuir y utilizar libremente.

Protocolo de transporte de mensajería IP (borrador de novena edición) 21/02/1996

14/01/2003 Revisado

H.Shirouzu

[email]shirouzu@h.email.ne.jp[/email]

Acerca de IP Messenger:

IP Messenger utiliza el protocolo TCP/UDP para enviar y recibir mensajes y archivos ( Tabla de contenido ).

Características:

IP Messenger se puede instalar en cualquier sistema operativo con una pila de protocolo TCP/IP instalada. Utiliza el mecanismo de identificación dinámica de los usuarios en línea para comunicarse con todos los usuarios en línea. intercambio.

Introducción al mecanismo operativo:

Utilice el puerto TCP/UDP (el puerto predeterminado es 2425. El protocolo UDP se utiliza para enviar y recibir mensajes, y el protocolo TCP es). Se utiliza para enviar y recibir archivos (carpetas).

1. Palabra de comando:

1) Palabra de comando básica (8 bits inferiores de la palabra de comando de 32 bits)

IPMSG_NOOPERATION no realiza ninguna operación

p>

IPMSG_BR_ENTRY Usuario en línea

IPMSG_BR_EXIT Salida de usuario

IPMSG_ANSENTRY Reportar en línea

IPMSG_SENDMSG Enviar mensaje

IPMSG_RECVMSG Reportar mensaje recibido

p>

IPMSG_GETFILEDATA Solicitudes para transferir archivos vía TCP

IPMSG_RELEASEFILES Deja de recibir archivos

IPMSG_GETDIRFILES Solicitudes para transferir carpetas

2) Bits de opción ( Palabra de comando de 32 bits Los 24 bits altos)

Verificación de transmisión IPMSG_SENDCHECKOPT (requiere que la otra parte devuelva información de confirmación)

Opciones del archivo de transmisión IPMSG_FILEATTACHOPT

3) Comando de tipo adjunto (palabra de comando de tipo de archivo (8 bits inferiores)

IPMSG_FILE_REGULAR archivo ordinario

Archivo de directorio IPMSG_FILE_DIR

IPMSG_FILE_RETPARENT Volver al directorio anterior

2. Formato del paquete de datos (Usando cadena):

1) Formato del paquete de datos (formato versión 1)

Número de versión (1):Número de paquete:Nombre del remitente:Remitente nombre de host: Palabra de comando: Información adicional

2) Por ejemplo:

“1:100:shirouzu:Jupiter:32:Hello”

3. del procesamiento de paquetes de datos:

1) Identificación del usuario

Cuando se inicia IPMSG, el comando IPMSG_BR_ENTRY se transmite a la red, avisando a todos los usuarios en línea que ha llegado un nuevo usuario (es decir, "Estoy aquí")); todos los usuarios en línea agregarán el nuevo usuario en línea a su lista de usuarios y enviarán el comando IPMSG_ANSENTRY al nuevo usuario en línea (lo que significa "Estoy en línea"); usuario después de recibir el comando IPMSG_ANSENTRY a su propia lista de usuarios.

2) Enviar y recibir mensajes

Utilice el comando IPMSG_SENDMSG para enviar un mensaje y el contenido del mensaje se agrega a la información adicional al recibir el mensaje, si la otra parte lo requiere; una confirmación de respuesta (el bit IPMSG_SENDCHECKOPT está activado), necesita enviar el comando IPMSG_RECVMSG e ingresar el número del paquete de datos enviado por la otra parte en la información adicional y enviarlo al remitente

3) Extensión del archivo adjunto (agregado en la versión 9)

El comando IPMSG_SENDMSG con el bit IPMSG_FILEATTACHOPT se puede usar para transferir archivos. Los atributos y el contenido del archivo se agregan en la información adicional. contenido del mensaje y separado de él por '\0'. Al transferir archivos, se agregará la siguiente información al contenido del mensaje (incluido el formato): Número de serie del archivo: Nombre del archivo: Tamaño (unidad: bytes): Hora de la última modificación: Atributos del archivo [: Atributos adicionales = val1 [, val2.. .] [: Información adicional =...]]:\a:Número de serie del archivo...

(El tamaño del archivo, la hora de la última modificación y los atributos del archivo son números hexadecimales. Si el nombre del archivo contiene ' :', utilice "::" "reemplazar).

Cuando el extremo receptor comienza a recibir el archivo, la solicitud para transferir el comando de archivo IPMSG_GETFILEDATA se enviará al puerto TCP del extremo emisor (el mismo que el puerto de envío UDP) y el número del paquete. enviado por el extremo emisor: número de serie del archivo: desplazamiento (todo en formato hexadecimal) se escribe en el área de información adicional y se envía juntos. Después de que el extremo emisor del archivo recibe la información de la solicitud y verifica que es correcta, comienza a enviar el archivo (no). se utiliza el formato y no se realiza ningún cifrado).

Cuando el extremo receptor recibe el archivo de directorio, enviará el comando IPMSG_GETDIRFILES con el área de información adicional siendo el número de paquete: número de serie del archivo: desplazamiento (todo en formato hexadecimal) enviado por el extremo emisor. solicitar la transmisión de archivos de directorio, el remitente agrega la información del encabezado longitud: nombre del archivo: tamaño del archivo: atributos del archivo: contenido del archivo al área de información adicional (excepto el nombre del archivo y el contenido del archivo, el resto está en hexadecimal), el encabezado; longitud de la información Es el número de caracteres que van desde la longitud de la información del encabezado hasta el delimitador ':' antes del contenido del archivo.

Cuando el atributo del archivo es IPMSG_FILE_DIR, IPMsg puede identificarlo automáticamente como un directorio y los datos del siguiente archivo están después del directorio.

Cuando el atributo del archivo es IPMSG_FILE_RETPARENT, IPMsg reconoce que la acción es regresar al directorio de nivel superior. En este caso, el nombre del archivo es '.' .