Red de conocimiento informático - Material del sitio web - Cómo utilizar Delphi para diseñar potentes programas de servidor [1].

Cómo utilizar Delphi para diseñar potentes programas de servidor [1].

Hoy en día, la popularidad de Internet ha hecho que los programas de servidor se utilicen ampliamente. Entonces, ¿cómo utilizamos Delphi para diseñar un servidor potente?

Algunas personas dicen que si quieres usar VC para diseñar un servidor, debes usar VC para diseñarlo. De hecho, lo que dijo esta persona tiene sentido, porque si quieres usar Delphi para diseñar un. servidor, debe diseñar un servidor eficiente, simplemente no use la mayoría de los controles que trae Delphi (es mejor no usar los controles que trae Delphi).

Al diseñar un programa de servidor usando Delphi, la elección entre usar el modo de mensaje de formulario o el modo de puerto de finalización depende de la cantidad de conexiones que tenga. Si hay menos de unas pocas conexiones de usuario y la cantidad de datos que se procesan no es grande, puede utilizar el patrón de mensajería de formulario. Si la cantidad de conexiones de usuario es menor que la cantidad de personas y la cantidad de datos que deben procesarse no es grande, puede usar el modo de mensaje de formulario para desarrollar el servidor. Si es mayor que la cantidad de personas, puede hacerlo. Es mejor utilizar el puerto de finalización para desarrollar el servidor. Le sugiero que utilice el modo de puerto de finalización, porque no hay garantía de que la cantidad de usuarios no cambie, y si su servidor no tiene problemas después de ejecutarse durante un período de tiempo, es mejor crear un programa de servicio WIN, que puede garantizar que la cantidad de mantenimiento posterior sea relativamente pequeña

No utilice variables de cadena en los programas

Esto es lo que descubrí durante el proceso de desarrollo real. Al principio, usé muchas variables de cadena en el programa por conveniencia, pero el programa siempre se ejecutaba durante mucho tiempo y luego surgían problemas. Pero el problema siempre se resuelve después de que el programa se ejecuta por un tiempo. No sé por qué, pero revisé en línea y descubrí que algunas personas me dijeron que no usara variables de cadena, simplemente reemplazara todos mis programas con matrices, y el problema se resolvió.

Utiliza algoritmos de cifrado rápidos como el cifrado XOR o el cifrado DES.

El servidor debe cifrar el código pasado entre el cliente y el servidor, pero ¿qué algoritmo de cifrado se debe utilizar? No utilice algoritmos como el algoritmo RSA que requieren muchos cálculos. Es mejor utilizar el algoritmo de cifrado XOR o el algoritmo de cifrado de transposición DES. Esto es principalmente para cumplir con los requisitos del texto cifrado ordinario y garantizar la velocidad de cálculo. servidor También puede utilizar el cifrado RSA, pero esto hará que la velocidad de procesamiento del servidor se ralentice y, si se encuentra una gran cantidad de veces durante el procesamiento, el servidor lo rechazará fácilmente.

Utilice la función ADO original para conectarse a la base de datos

Los programas de servidor generalmente están integrados con la base de datos, por lo que cuando se desarrolla en Delphi, los controles ADO generalmente se usan para crear el programa de servidor. Pero si estudia el manual de ADO, encontrará que en realidad no necesita usar controles para manipular datos en el servidor, solo necesita usar las funciones ADO correspondientes. La razón principal de esto es que los programas de servidor y bases de datos suelen ser operaciones simples, no muy complejas, por lo que se puede utilizar el modelo ADO original, minimizando así los problemas causados ​​por los controles ADO.

Las piscinas deberían usarse más.

El servidor requiere una gran cantidad de variables para respaldar el proceso de diseño. Si no utiliza el concepto de grupos, su programa perderá mucho tiempo creando y liberando variables, y será propenso a fallar. problemas. Si no utiliza el concepto de grupos, su programa perderá mucho tiempo creando y liberando variables y será propenso a tener problemas. Si intenta no crear ni liberar variables durante el proceso de diseño y puede tener esto en cuenta, creará todas las variables que necesite al comienzo de la ejecución.

Si realmente comprende el concepto de punteros, esta sería una excelente manera de diseñar un servidor

Aquí hay un ejemplo: si usa Recv para recibir datos en un búfer y necesita descifrarlos, puede hacerlo usando var?ResultBuffer :array [ Max ] de byte; comenzar para i := to Sizeof(Buffer) div ¿comenzar move(Buffer[(i )* + ] a Des(a b true) ;?/DES cifrado y uso de descifrado move(b ResultBuffer[(i )* + ] );? end;end lishixinzhi/Article/program/Delphi/201311/24703