1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

winsock mais do k um cliente

Discussão em 'Programação' iniciada por pascasso, 18 de Maio de 2007. (Respostas: 2; Visualizações: 655)

  1. pascasso

    pascasso Power Member

    boas, aqui vai o meu primeiro post e o milesimo problema como vb6

    tou neste momemto a desenvolver uma aplicaçao chat no vb6. utilizo o winsock ja realizar a conexao etc. mas é so servidor - cliente e cliente - servidor, o k eu gostava de fazer era por mais utlizadores cliente1, cliente2, etc. para poderem falar mais de 2 pessoas ao mesmo tempo. ha alguma maneira d fazer ixo em vb6? (tem sei: vb.net e delphi)
     
  2. flaviorodrigues

    flaviorodrigues Power Member

    tambem eu queria fazer isso em vb6!
     
  3. pascasso

    pascasso Power Member

    já resolvi o problema :)
    foi simples,

    exte é o comando que liga o listening do servidor:

    Código:
    Private Sub cmdon_Click()
    On Error Resume Next
    If Not App.PrevInstance = True Then
    Winsock1.LocalPort = txtporti.Text
    Winsock1.Listen
    lstMessages.AddItem ">>> SERVIDOR LIGADO PARA O CLIENTE 1!"
    Else
    MessageBox.Show ("Já há outra cópia do programa a ser executada!")
    End If
    If CheckBox1.Value = 1 Then
    Winsock2.LocalPort = txtporti2.Text
    Winsock2.Listen
    lstMessages.AddItem ">>> SERVIDOR LIGADO PARA O CLIENTE 2!"
    End If
    End Sub
     
    e na form fiz uma checkbox para ver se a sessao de chat era com dois ou com tres.
    depois para as mensagens enviadas pelo cliente 1 (exemplo) para tb chegarem ao cliente 2, como elas so sao enviadas para o servidor, fiz um if para ele enviar as mensagens do cliente um para o cliente dois (alem de ter feito um sistema de ping!):
     
    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    On Error Resume Next
    Dim str As String
    Winsock1.GetData str
    lstMessages.AddItem str
    If CheckBox1.Value = 1 Then
    Winsock2.SendData str
    If str = "Pingy?" Then
    Winsock1.SendData ">>> [SERVIDOR] PONGY! Estou aqui!"
    lstMessages.AddItem ">>> [SERVIDOR] PONGY! Estou aqui!"
    End If
    End If
    End Sub
    Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
    If CheckBox1.Value = 1 Then
    On Error Resume Next
    Dim str1 As String
    Winsock2.GetData str1
    lstMessages.AddItem str1
    Winsock1.SendData str1
    If str1 = "Pingy?" Then
    Winsock1.SendData ">>> [SERVIDOR] PONGY! Estou aqui!"
    lstMessages.AddItem ">>> [SERVIDOR] PONGY! Estou aqui!"
    End If
    End If
    
     
    Última edição pelo moderador: 20 de Maio de 2007

Partilhar esta Página