|
Mostrar Temas
|
Páginas: [1] 2
|
1
|
Programación / Programación Visual Basic / Pregunta dicil.
|
en: 28 Agosto 2006, 19:56 pm
|
Hola buenas primero que nada decirle que tiene relacion con socket.
Estoy haciendo un programa tipo chat cliente y servidor el servidor esta con una matriz de socket que quiere decir esto que mas de 1 cliente se pueden conectar a este servidor ahora cual es mi duda muchos clientes se pueden conectar y enviar el mesanje al servidor pero yo quiero discriminar cuando envio el mensaje del servidor a los clientes solo se lo envia al primero que se conecto lo que yo quiero hacer es escoger a que cliente enviar el mensaje y esa es mi duda haber si alguien me ayuda.
Si alguien necesita codigo para ver o tratar de ayudarme deme su correo lo agrego bueno saludos.
Agradeceria la ayuda estoy estancado con esto =(.
|
|
|
3
|
Programación / Programación Visual Basic / Pregunta dificil por lo menos para mi =( (Ayuda porfavor)
|
en: 21 Agosto 2006, 17:35 pm
|
Sacado de un libro voy a escribir lo que este dice luego escribo mi cofigo que me falla: ************************************************************ *********** Dice: **** El codigo que se muestra a continuacion presupone que existe un control Winsock en un formulario llamador sckServer y que su propiedad Index tiene el valor 0,por lo que el control forma parte de una matriz de controles.En la seleccion Declaraciones se declara una variable intMax a nivel de modulo.En el evento Load del formulario,intMax tiene establecido el valor 0 y la propiedad LocalPort del primer control de la matriz el valor 1001.Despues,se invoca el metodo Listen en el control,convirtiendolo en el control "que escucha".A medida que llega cada solicitud de conexion,el codigo comprueba si el indice es 0 (el valor del control "que escucha"). Si es asi,este control aumenta la variable intMax y utiliza ese numero para crear una nueva instancia del control.Esta nueva instancia se utiliza para aceptar una solicitud de conexion.
Ahora el codigo que sale en el libro es: ***************************************** Private intMax As Long
Private Sub Form_load() intMax=0 sckServer(0).LocalPort=1001 sckServer(0).Listen End Sub
Private Sub sckServer_ConnectionRequest(Index As Integer, ByVal requestID As Long) If Index=0 Then intMax=intMax+1 Load sckServer(intMax) sckServer(intMax).LocalPort=0 sckServer(intMax).Accept requestID Load txtData(intMax) End If End Sub
**********************************
Ahora mi codigo: ***************
Servidor: Un control winsock con nombre sckServer 2 cajas de texto y un boton para enviar el texto.
***************************** Private intMax As Long
Private Sub Command1_Click() Dim enviar As String enviar = Text2.Text sckServer(Index).SendData enviar End Sub
Private Sub Form_Load() intMax = 0 sckServer(0).LocalPort = 1001 sckServer(0).Listen End Sub Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long) If Index = 0 Then intMax = intMax + 1 Load sckServer(intMax) sckServer(intMax).LocalPort = 0 sckServer(intMax).Accept requestID Load txtdata(intMax) End If End Sub
Private Sub Winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long) Dim datos As String sckServer(Index).GetData datos 'aca nose si es intmax o index Text1.Text = Text1.Text + datos End Sub
*************************************** Cliente:un control winsock se llama sckCliente 2 cajas de texto 2 botones uno para enviar y otro boton para conectar.
Private Sub Command1_Click() sckCliente.RemotePort = 1001 sckCliente.RemoteHost = "192.168.0.1" sckCliente.Connect End Sub
Private Sub Command2_Click() Dim enviar As String enviar = Text2.Text sckCliente.SendData enviar End Sub
Private Sub sckCliente_DataArrival(ByVal bytesTotal As Long) Dim datos As String sckCliente.GetData datos Text1.Text = Text1.Text + datos End Sub
******************************************
me fallan tanto el cliente como el servidor al tratar de enviar el mensaje de un lado al otro pero se conectan .
Agradeceria mucho alguien me diera una mano desde yan muchas gracias saludos a todos xD.
|
|
|
4
|
Programación / Programación Visual Basic / alguien puede tener idea de porque falla esto?(socket)
|
en: 18 Agosto 2006, 18:14 pm
|
Server: Private Sub Form_Load() intmax = 0 tcpServer(0).LocalPort = 1001 tcpServer(0).Listen End Sub
Private Sub tcpServer_ConnectionRequest(Index As Integer, ByVal requestID As Long) If Index = 0 Then intmax = intmax + 1 Load tcpServer(intmax) tcpServer(intmax).Accept requestID Load txtData(intmax) End If End Sub
Private Sub tcpServer_DataArrival(Index As Integer, ByVal bytesTotal As Long) Dim strData As String tcpServer.GetData strData txtOutput.Text = strData End Sub
Private Sub txtSendData_Change() tcpServer.SendData txtSendData.Text End Sub
Me da error en el server . y el cliente es esto
Private Sub cmdConnect_Click() tcpClient.Connect End Sub
Private Sub Form_Load() tcpClient.RemoteHost = "192.168.0.1" tcpClient.RemotePort = 1001 End Sub
Private Sub tcpClient_DataArrival(ByVal bytesTotal As Long) Dim strData As String tcpClient.GetData strData txtOutput.txt = strData
End Sub
Private Sub txtSendData_Change() tcpClient.SendData txtSendData End Sub
|
|
|
5
|
Programación / Programación Visual Basic / Apis plz.
|
en: 17 Agosto 2006, 20:00 pm
|
closesocket, connect, gethostbyaddr, gethostbyname, gethostname, getsockopt, htons, recv, send, setsockopt, socket, WSSAsyncselect, WSACancelBlockingCall, WSACleanup, WSIGetlasterror, WSAisblocking y WSAStartup.
esas son las que necesito para reemplazar el MSWINSCK.OCX pero nose como buscarlas las busque con el viser de apis pero nada alguien sabe?.
|
|
|
6
|
Programación / Programación Visual Basic / Algo de archivos alguien sabe?
|
en: 16 Agosto 2006, 16:31 pm
|
Tengo esto : 6 cajas de texto en 3 de ellas inreso nombre apellido y edad y en las otras 3 muestro los resultados de mi archivo.
este es el codigo:
Private Type T_Registro nombre As String * 20 apellido As String * 20 edad As String * 20 End Type
Dim registro As T_Registro
Private Sub Command1_Click() Open "personas.txt" For Random As #1 registro.nombre = Text1.Text registro.apellido = Text2.Text registro.edad = Text3.Text Put #i, 1, registro Close #1 End Sub
Private Sub Command2_Click() Text4.Text = "" Text5.Text = "" Text6.Text = ""
End Sub
Private Sub Command3_Click() Open "personas.txt" For Random As #1 Put #1, 1, registro Text4.Text = registro.nombre Text5.Text = registro.apellido Text6.Text = registro.edad Close #1 End Sub
ahora mi duda es la siguiente se guardan en el archivo personas.txt pero si agrego otro se me borra el que tenia anteriormente y me deja el actual y yo quiero que el archivo me vaya guardando todos los usuarios que ingreso .
alguien que me ayude con esto porfavor o me de una idea bueno gracias saludos.
|
|
|
7
|
Programación / Programación Visual Basic / Antivirus y Winsock
|
en: 16 Agosto 2006, 00:10 am
|
Bueno hice una aplicacion cliente servidor pero ahoira cuando un antivirus dice si esta aplicacion es peligrosa y la elimina porque no todos los programas que trabajan con winsock son malignos como hace el antivirus para enterarse por el puerto nose a mi me tomo la aplicacion como un troyano.
|
|
|
8
|
Programación / Programación Visual Basic / No-Ip Y socket
|
en: 15 Agosto 2006, 20:20 pm
|
Alguien me podria explciar en teoria osea lo que tengo entendido es lo siguiente.
configuro mi server con no-ip claro se refresca y actualiza mi direccion ip lo que hago en "teoria" seria enviarle el server al cliente y que este se conecte a mi no-ip o no ?
haber is alguien me aclara este asunto desde ya gracias cuidense.
|
|
|
9
|
Programación / Programación Visual Basic / Intalador
|
en: 11 Agosto 2006, 08:39 am
|
Alguien sabe como generar un instalador de una aplicacion que ayas echo en visual basic? o si hay alguna herramienta para hacer eso o algo por el estilo . bueno agradeceria mucho su ayuda cuidense xD
|
|
|
|
|
|
|