Lucas Phillip Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 ae, como eu faço um script pra vefiricar se alguém entrou no servidor usando winsock... algo pra quando alguém enviar uma informação usando winsock e não tiver ninguém pra receber, ele receber um aviso avisando q ninguém recebeu..vlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Janeiro 18, 2005 Denunciar Share Postado Janeiro 18, 2005 Sua dúvida é um tanto vaga, uma vez que a programação com sockets dá total liberdade para você definir o quê, onde, para quê e quando os dados serão enviados/recebidos. Por exemplo, o seu "verificar se alguém entrou no servidor usando winsock..." é extremamente relativo. O que é o seu "servidor"? Ele responde algo ao cliente que conecta (após a conexão estabelecida pelo winsock)? Ele mantém uma lista dos clientes conectados a ele? E o "algo pra quando alguém enviar uma informação usando winsock e não tiver ninguém pra receber, ele receber um aviso avisando q ninguém recebeu.." é ainda mais confuso. Quem pode ser o "alguém" nesse caso? Os clientes conectados ao servidor? O próprio servidor? Quem vai receber o aviso?Acho que o ideal seria você explicar o que está fazendo e como, a fim de que possamos ajudar melhor. Lembre-se que tudo que o winsock faz é *enviar e receber dados* - como esses dados serão tratados/interpretados cabe a você decidir (e não temos a mínima idéia de como você organizou tudo).Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Lucas Phillip Postado Janeiro 18, 2005 Autor Denunciar Share Postado Janeiro 18, 2005 eu estou fazendo uma espécie de chat, mas apenas para 2 pessoas... bom, pro winsock aqui funcionar, uma pessoa tem q estar apta a receber uma conexão. essa pessoa vira o "servidor", e uma outra conecta no ip dessa pessoa... o q eu quero é que quando uma pessoa esta esperando uma conexão, e ninguém conectou ainda, ela receba um aviso de q ninguém se conectou a ela ainda...deu pra entender agora? (é dificil explicar porque eu sei exatamente do q estou falando, então tudo pra mim parece simples)vlw ah lembrei, aproveitando esse tópico, como eu faço pro textbox q mostra o chat ficar sempre mostrando a ultima mensagem enviada, ou seja, fica dando scroll down toda vez q uma msg for enviada..falou Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 William Rodrigues Postado Janeiro 18, 2005 Denunciar Share Postado Janeiro 18, 2005 Segue uma ajudinha:Chat com WinsockAbraços,William Rodrigues Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Lucas Phillip Postado Janeiro 18, 2005 Autor Denunciar Share Postado Janeiro 18, 2005 ae.. eu dei uma olhada nesse site q você me passo, e ele me deu umas idéias, mas eu não consegui resolver o problema...dexa eu explica exatamente:quando uma pessoa A vai conectar na pessoa B, aparece um inputbox onde a pessoa A escreve o ip da pessoa B, para se conectar a ela... o q eu quero, é que quando a pessoa A tente se conectar a pessoa B, mas a pessoa B ainda não esteja pronta para receber a conexão, ou a pessoa A digite o ip errado, a pessoa A receba um aviso falando q a conexão falhou...e quanto ao meu segundo problema, eu não achei nada parecido com o q eu preciso..eu quero q quando o text ultrapassa o tamanho do textbox, eu quero q o scrollbar fique sempre na ultima msg enviada, no entando ele está sempre no começo do texto, ai para ver a ultima msg enviada, você tem q fica dando scrolldown falou Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Janeiro 19, 2005 Denunciar Share Postado Janeiro 19, 2005 ae.. eu dei uma olhada nesse site q você me passo, e ele me deu umas idéias, mas eu não consegui resolver o problema...dexa eu explica exatamente:quando uma pessoa A vai conectar na pessoa B, aparece um inputbox onde a pessoa A escreve o ip da pessoa B, para se conectar a ela... o q eu quero, é que quando a pessoa A tente se conectar a pessoa B, mas a pessoa B ainda não esteja pronta para receber a conexão, ou a pessoa A digite o ip errado, a pessoa A receba um aviso falando q a conexão falhou...e quanto ao meu segundo problema, eu não achei nada parecido com o q eu preciso..eu quero q quando o text ultrapassa o tamanho do textbox, eu quero q o scrollbar fique sempre na ultima msg enviada, no entando ele está sempre no começo do texto, ai para ver a ultima msg enviada, você tem q fica dando scrolldown falou Quando você tentar conectar, deve existir um loop aí em algum lugar que fica esperando a conexão ser estabelecida, certo? Pois bem, isso deve estar sendo feito através da verificação do valor da propriedade State. Ela também te indicará se houve algum erro. Para um exemplo disso, dê uma olhada no código deste artigo: http://desenvolvedores.net/modules.php?nam...=article&sid=27Quanto a textbox, experimente fazer...Text1.SelStart = Len(Text1.Text)... e você verá que a seleção vai para o final dela.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Lucas Phillip Postado Janeiro 19, 2005 Autor Denunciar Share Postado Janeiro 19, 2005 ae...bom, o textbox ta funcionando perfeitamente.. vlw agora qt ao winsock, lendo la o artigo eu fiz o seguinte script: Private Sub Form_Load() ip: sIp = InputBox("IP a ser conectado:", "Cliente") If sIp = "" Then GoTo ip iPorta = "8084" Winsock.Connect sIp, iPorta Do While Winsock.State <> sckConnected DoEvents: DoEvents: DoEvents: DoEvents If Winsock.State = sckError Then MsgBox "Não existe nenhum servidor neste ip!", 64, "Ops!" GoTo ip Exit Do End If Loop End Sub só q da uns pau mt esquisito... por exemplo, a mensagem de erro so aparece quando tem alguma letra no ip.. fora isso não volta erro nenhum... q q ta errado?vlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Janeiro 20, 2005 Denunciar Share Postado Janeiro 20, 2005 só q da uns pau mt esquisito... por exemplo, a mensagem de erro so aparece quando tem alguma letra no ip.. fora isso não volta erro nenhum... q q ta errado? Fiz o teste aqui e aparece sim a mensagem quando se digita um IP não existente, só que depois de muito tempo (porque o Winsock é insistente e não desiste fácil ). O que você pode fazer é colocar um contador de tempo ali para, após n segundos de tentativas, ele desistir e mostrar a mensagem.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Lucas Phillip Postado Janeiro 20, 2005 Autor Denunciar Share Postado Janeiro 20, 2005 bom, eu tentei fazer como você falou, mas devido a meu pouco conhecimeto de vb, funcionou, mas não do jeito q eu queria... tipo eu queria q no form_load já verificasse, mas eu so consegui verificar depois q o form foi carregado... tem como você falar como você pessou em usar um contador pra me dar ideias não? vlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Janeiro 23, 2005 Denunciar Share Postado Janeiro 23, 2005 Com a função Time() ou Now() você obtém a hora atual. Isso você faz antes de começar a tentar conectar, guardando a hora inicial em uma variável. Depois, dentro do loop, você calcula a diferença entre o tempo atual e o tempo inicial (utilizando a função TimeSerial() ou TimeValue()). Se essa diferença (retornada em segundos) for maior que n segundos, você sai do loop e dá a mensagem. Sacou? Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Lucas Phillip Postado Janeiro 23, 2005 Autor Denunciar Share Postado Janeiro 23, 2005 ae.. eu acho q agora eu vo consegui... só preciso saber um coisa... no inputbox q você escreve o ip, aparece pra clicar ok ou cancel... só q cancel não faz nada, se você clica nele, simplesmente volta pro inputbox... como eu faço pra definir o que cancel e o q ok faz? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Janeiro 23, 2005 Denunciar Share Postado Janeiro 23, 2005 ae.. eu acho q agora eu vo consegui... só preciso saber um coisa... no inputbox q você escreve o ip, aparece pra clicar ok ou cancel... só q cancel não faz nada, se você clica nele, simplesmente volta pro inputbox... como eu faço pra definir o que cancel e o q ok faz? Ué? O código abaixo não foi você que escreveu? Veja:ip: sIp = InputBox("IP a ser conectado:", "Cliente") If sIp = "" Then GoTo ipAli você define um label (rótulo) chamado "ip" e pede uma entrada ao usuário por meio da InputBox(). O retorno dessa função é algo diferente de "" (ou seja, algo não-vazio) se ela digitar algo e pressionar o OK. Se ela aperta o Cancelar ou não digitar nada, o retorno será "" (vazio). Na linha do if você define: "se sIp for vazio então vá para o rótulo ip" e será isso que ele fará. Nesse if é que você pode decidir o que ele fará se o usuário pressionou o Cancelar. Sacou? Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Lucas Phillip Postado Janeiro 23, 2005 Autor Denunciar Share Postado Janeiro 23, 2005 ops hehe ...q vacilo... já arrumei tudo fico perfeito... brigadao velho!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 resopi Postado Fevereiro 3, 2005 Denunciar Share Postado Fevereiro 3, 2005 Pessoal Vantando a duvida de winsock... aki neste tópico o William Rodrigues passou um tudo de um CHAT... ateh ai firmeza... eu fiz o CHAT e deu tudo CERTO.... Porem.... temtei fazer com 2 Clientes.... e ele deu pau.... o que eu devo auterar no codigo dakele chat para funcionar com varios Usuarios??? um usuario não precisa receber o que outro ecreve... pois na verdade a MSG que fou usar vem só do Server para o usuario..... t+ Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Lucas Phillip
ae, como eu faço um script pra vefiricar se alguém entrou no servidor usando winsock...
algo pra quando alguém enviar uma informação usando winsock e não tiver ninguém pra receber, ele receber um aviso avisando q ninguém recebeu..
vlw
Link para o comentário
Compartilhar em outros sites
13 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.