Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - n3ts4mura1

#1
Programación Visual Basic / Pregunta dicil.
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 =(.
#2
Alguien sabe como cambiarle de color al scrollbars del richtextbox , Bueno saludos cuidense.
#3
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
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 Visual Basic / Apis plz.
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
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 Visual Basic / Antivirus y Winsock
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 Visual Basic / No-Ip Y socket
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 Visual Basic / Intalador
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
#10
Programación Visual Basic / Formulario
8 Agosto 2006, 02:26 AM
Como se puede hacer para que al maximizar la ventana se destribuya todo lo de adentro de forma ordenada y no quede todo desordenado .
#11
Holas alguno de ustedes sabe de algun servidor para chatear de habla hispana donde se reunan programadores de visual basic?
#12
Ayudenme con esto porfavor tengo lo siguiente:

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
 
   Winsock1.GetData datos
   'num = Len(datos)
 
    Select Case Left(datos, 4)
        Case "Rojo"
                RichTextBox1.SelColor = &HFF& '=rojo
                RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" + datos )
        Case "Azul"
                RichTextBox1.SelColor = vbBlue
                RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" + datos + vbCrLf)
        Case "Verd"
                RichTextBox1.SelColor = vbGreen
                RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" + datos )
       
        Case "Amar"
                RichTextBox1.SelColor = vbYellow
                RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" + datos )
        Case "none"
                RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" + datos )
        Case Else
                'RichTextBox1.SelColor = &HFF& '=rojo
                RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" + datos )
    End Select

End Sub

de esta manera recibo los datos del otro lado y puedo cambiarles de color .
y de esta manera los envio.

Private Sub Command1_Click()
On Error Resume Next
Dim enviar As String
Dim color As String
   enviar = Text1.Text
   color = Combo1.Text
   Winsock1.SendData color + enviar
End Sub

Si se pueden dar cuenta envio el color junto con el texto pero.
en el comobo tengo esta lista.

Rojo
Azul
verd
Amar
none

si me paso al poner mas de 4 carcateres me falla por que al recibir lo tengo solo con 4 y al recibir el mensaje me sal esto.

servidor diceRojo hola como estas

y la idea es que no salga la palabra rojo nose si alguien me puede ayudar a mejorar este codigo porfavor.
#13
socket.

'recibo datos de esta manera.

Dim datos As String
   Winsock1.GetData datos
   RichTextBox1.SelText = (RichTextBox1.SelText +  datos )

'envio datos de esta manera.

Dim enviar As String
   enviar = Text1.Text
   RichTextBox1.SelText = (RichTextBox1.SelText+Text1.Text)
   Winsock1.SendData enviar

ahora ejem esto es lo que tengo yo.

muestro tanto el mensaje que envio yo en richtextbox como el que envio y lo que quiero hacer es que el mesaje que yo envio sea de un color y el que recibo sea de otro alguien sabe como se puede hacer porfavor muy urgido con esto.
#14
Haber amigos tengo el clasico cliente servidor que envia un mensaje de un lado a otro ahora lo que no puedo hacer es lo siguiente :

quiero que el servidor envie el texto de un color y el cliente de otro color osea:
por ejem.

Servidor:Hola como estas<----en color rojo
cliente:bien y tu <---color en verde

y eso sale en la caja de text1.text

porque cuando le cambio el color me cambia todo lo que escribo a verde por ejmplo y quiero que una sea verde y la otra roja nose si me entienden o me pueden ayudar desde ya muchas gracias amigos.
#15
Texngo 2 cajas te texto :
text1 con scrollbars vertical y con Multiline=True

luego tengo un text2 que es donde quiero ingresar el texto

pero lo que quiero hacer es que cada ves que ingrese un texto  haga un salto de linea osea cada ves que agrego abajo y la otra linea abajo de la otra y haci sucesivamente una linea bajo otra a medida que voy agregando bueno agradeceria su ayuda.
#16
tengo esto:
***************

Cliente:

3 cajas te texto (3 cajas de texto vacias)
2 botones (command1=Conectar command2=Enviar)
1 winsock(puerto local 888)

Codigo;

Private Sub Command1_Click()
Winsock1.RemoteHost = Text3.Text
   Winsock1.Connect

End Sub

Private Sub Command2_Click()
Dim enviar As String
   enviar = Text2.Text
   Winsock1.SendData enviar

End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
   Winsock1.GetData datos
   Text1.Text = Text1.Text + datos
End Sub


Servidor:
********

2 cajas de texto(cajas de texto vacias)
2 botones(command1=Escuchar command2=Enviar)
1 winsock(puerto local 888)

codigo:
***********

Private Sub Command1_Click()
Winsock1.Listen

End Sub

Private Sub Command2_Click()
Dim enviar As String
   enviar = Text2.Text
   Winsock1.SendData enviar

End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
   Winsock1.Accept requestID
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim datos As String
   Winsock1.GetData datos
   Text1.Text = Text1.Text + datos
End Sub


El problema:
***********************


dejo al servidor a la escucha y todo bien hago un netstat -an en ms-dos y veo el puerto a la escucha.

pero cuando trato de conectarme con el cliente al servidor al
colocar la ip y darle conectar me sale el siguiente error:


Error '10048' en tiempo de ejecucion :
Direccion en uso y se cae el programa agradeceria su ayuda muchas gracias =)..