IPB

Welcome Guest ( Log In | Register )

[ Outline ] · Standard · Linear+

> Winsock

SuNcO
post Dec 28 2006, 04:36 AM
Post #1


Administrador
*****

Group: Admin
Posts: 647
Joined: 21-October 05
Member No.: 1



Como ya esta la seccion de Tutoriales, ahora si ya no hay excusa para no hacer este tutorial que es el que mas me piden

Vamos a crear un Servidor, esto es, un programita que reciba las conexiones e interactue con los Clientes. Es como un navegador de internet que interactua con el servidor de paginas web

Nos vamos a lmenu Proyecto y luego Componentes (tambien con ctrl + t funciona)

Elegimos el que dice : Microsoft Winsock 6.0

Ahora ponemos un Control y movemos estas propiedades

Nombre : Servidor
LocalPort : 1010 (esta la podemos poner por codigo tambien)

La propiedad LocalPort nos sirve para indicar por cual puerto van a entrar la conexiones. Es como por ejemplo cuando te conectas a una pagina de internet, no nos damos cuenta pero en realidad se conecta al puerto 80

Ahora ocupamos abrir ese puerto. Ponemos en algun boton o el evento Load del formulario

Servidor.Listen

Ahora abrirmos otra ventana de Visual Basic donde haremos el Cliente

Movemos estas propiedades (pueden moverse mediante codigo tambien)

Nombre : Cliente
RemoteHost : localhost (significa que es la pc local)
RemotePort : 1010

Mediante un boton hacemos la conexion con el Servidor

Cliente.Connect

En el Servidor se dispara el evento ConnectionRequest que significa que alguien quiere conectarse. Cerramos la conexion y a la vez aceptamos la conexion

Servidor.Close
Servidor.Accept requestID


Y en el Cliente se dispara el evento Connect

Para enviar datos del Cliente al Servidor ponemos un TextBox (Mensaje) y un boton (btnEnviar). En el evento Click del boton ponemos

Cliente.SendData Mensaje

Al hacer esto, en el Servidor se dispara el evento DataArrival. Para leer estos datos entrantes ponemos

Servidor.GetData datos

Los datos quedan guardados en la variable "datos"

Lo mismo podemos hacer para enviar datos del Servidor al Cliente

Que otros eventos nos interesan ?

Close : cuando se cierra la conexion
Error : cuando hay algun error en la conexion
SendComplete : cuando terminas de enviar datos
SendProgress : cuando se estan enviando datos. En este evento puedes ver cuandos bytes has enviado y cuantos faltan de enviarse


Propiedades ?

State : para saber el estado del Socket (lo podemos poner en un Timer y un Label)

Para entender un poco mejor pongo los 2 Proyectos totalmente explicados, el cliente y el servidor

Attached File  cliente.zip ( 2.36k ) Number of downloads: 948
Attached File  servidor.zip ( 2.1k ) Number of downloads: 689


Proximamente pondre otro que permite tener varios clientes conectados al servidor
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Posts in this topic


Reply to this topicTopic OptionsStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
 

Lo-Fi Version Time is now: 9th September 2010 - 08:06 PM