mcanossa Posted May 29, 2006 at 04:16 PM Report Share #29958 Posted May 29, 2006 at 04:16 PM Alguém me sabe indicar como é que posso, com Visual Basic 6, enviar dados pela net, através do IP (para um computador com um certo IP)? ou receber dados da net, de um computador com um determinado IP? Obrigado. Link to comment Share on other sites More sharing options...
David Pintassilgo Posted May 29, 2006 at 04:19 PM Report Share #29959 Posted May 29, 2006 at 04:19 PM winsocks, é sobre isso que tens de 'investigar'. Eu não sei bem nisso, mas já te aparece por aqui alguem que te esplica tudo. 😉 cool stuffs to check. http://blog.zxcoders.com// Link to comment Share on other sites More sharing options...
NuGuN Posted May 31, 2006 at 07:04 PM Report Share #30378 Posted May 31, 2006 at 07:04 PM Ora bem tb te aconcelho a pesquisares soubre Winsock's e soubre os protocolos (TCP...UDP...etc) É relativamente facil trocar informação pela internet entre 2 programas. Vou tentar explicar-te como podes fazer um programa mt simples. Comecemos pela parte servidor: Primeiro abres o novo projecto e adicionar o Componente Winsock(vais a Compentes e procuras por "Microsoft Winsock ontrol 6.0" Em seguida adicionas uma winsok ao teu projeto e omeemos com o código. Nos eventos "Winsock1_Close" e "Winsock1_Error" metes as seguintes linhas de código Winsock1.Close Winsock1.Listen ficando algu do genero : Private Sub Winsock1_Close() Winsock1.Close Winsock1.Listen End Sub Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean) Winsock1.Close Winsock1.Listen End Sub Istu serve para no caso de ocorrer um erro na ligação ou quando programa client é fechado, o servidor fechar a ligação e abrila outra vez para continuar a aceitar conecções, pois se não tivesses estas linhas ao te desconectares a primeira vez, se te tentasses conectar outra vez n irias conssegui pois a ligação era terminada e não era restabelecida. Em seguida vamos abrir uma porta por onde vamos fazer a comonicação. O evento Form_Load da Form fica assim: Private Sub Form_Load() Winsock1.LocalPort = 4545 ' Aqui Defines a Porta que queres que seja aberta. 'Se não me engano pode ir de 1 a 32mil e kk coisa, 'atenção que eu axo que no windows XP da porta 1 ate a 1024 'estao "Guardadas" para o sistema, o que n quer dizer que não 'as possas utilizar. Winsock1.Listen ' Aqui Abrimos a porta acima definida. Caso ocorra um erro do tipo '"Adress in Use" é porque essa porta ja esta a ser utilizado por outro programa. End Sub Agora no Evento "Winsock1_ConnectionRequest" da winsock metemos Winsock1.Close' Para não aceitar mais conecções Winsock1.Accept requestID ' Para aceitar o pedido de conecção fica algo do tipo : Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long) Winsock1.Close Winsock1.Accept requestID End Sub Em seguida vamos tratar de receber a informação, o evento enarregue desta função é o "DataArrival" onde iremos meter as seguintes linhas de código : Dim strData As String Winsock1.GetData strData ' Metemos a informação recebida pela winsock na variavel strData List1.AddItem "Client " & strData Agora como servidor não precisa apenas de reeber informação vamos fazer a parte de enviar informação. Adiciona-se um CommandButon(Command1) e metemos as seguintes linhas de código no evento Click: List1.AddItem "Servidor " & Text1.Text If Winsock1.State = sckConnected Then ' Se esta onectado entao envia dados Winsock1.SendData Text1.Text End If E o mecanismo principal da parte servidor esta explicada. Vamos ao cliente. O client é ainda mais fácil. Adiciona-se outra form ao projecto....e como anteriormente adiciona-se uma winsock Para começar precisamos de nos conectar ao servidor, para istu criamos um CommandButon(Command1) e uma TextBox(Text2)e no evento click do Command1 metemos: If Command1.Caption = "Conectar" Then Winsock1.Connect Text2.Text, 4545 'conecta-se ao IP que esta na textbox e a porta predefinida Command1.Caption = "Disconetar" Else ' caso se carregue no butao e ja exista uma conecção feita ele desconecta Command1.Caption = "Conectar" Winsock1.Close End If Para recebermos dados apenas temos de copiar o evento "DataArrival" do servidor para o client no que diz respeito á winsock. Para enviarmos os dados Para enviar Dados tambem é o mm código. Adiciona-se um CommandButon e no evento click as seguintes linhas de código: List1.AddItem "Servidor " & Text1.Text If Winsock1.State = sckConnected Then ' Se esta onectado entao envia dados Winsock1.SendData Text1.Text End If Bem e axu que esta tudo o que diz respieto a parte de troca dedados, o resto do programa podes fazer o download no link que te deixo para veres o resto e perceberes melhor. Espero n te ter confundido mais ainda, e peço desculpa pela má organização da informação mas foi um bocado feito a preça :s http://clientes.netvisao.pt/nb012788/Tranferencia_Dados.rar cumps Link to comment Share on other sites More sharing options...
mcanossa Posted May 31, 2006 at 11:41 PM Author Report Share #30499 Posted May 31, 2006 at 11:41 PM 😞 Muito obrigado pela vossa colaboração. Vou tentar perceber bem as soluções que me indicaram e tentar implementa-las. Link to comment Share on other sites More sharing options...
tabarra Posted April 19, 2007 at 11:59 PM Report Share #94756 Posted April 19, 2007 at 11:59 PM e se o server y client forem em pcs diferentes ??? Link to comment Share on other sites More sharing options...
psiico Posted April 20, 2007 at 01:26 AM Report Share #94763 Posted April 20, 2007 at 01:26 AM usas sistema DNS Psiico // Portfolio Link to comment Share on other sites More sharing options...
vbtipo Posted April 20, 2007 at 07:00 AM Report Share #94765 Posted April 20, 2007 at 07:00 AM No mesmo programa não se pode ter os dois juntos? Lema: Se eu não saber de alguma coisa não se preocupem porque tento sempre ajudar alguma coisita, nem que seja, por palpites/sugestões. Link to comment Share on other sites More sharing options...
NuGuN Posted April 20, 2007 at 08:26 AM Report Share #94767 Posted April 20, 2007 at 08:26 AM Podes, qual é o problema de teres os programas em PC's diferentes? Se soberes o IP não há problema 😉 Cumps Link to comment Share on other sites More sharing options...
tabarra Posted April 20, 2007 at 11:26 PM Report Share #94961 Posted April 20, 2007 at 11:26 PM e como fazer tocar som se algm mandar uma menagem ? Link to comment Share on other sites More sharing options...
psiico Posted April 21, 2007 at 02:08 AM Report Share #94998 Posted April 21, 2007 at 02:08 AM se for um simples som tipo,quando tens uma pergunta, basta pores na acção de dataArrival: beep se quisers um som tipo MSN, tens que usar o componente M$ Multimedia Control 6.0 e fazres: mmcontrol1.play ou a função que é... Psiico // Portfolio Link to comment Share on other sites More sharing options...
tabarra Posted April 21, 2007 at 02:37 AM Report Share #95000 Posted April 21, 2007 at 02:37 AM como ficaria o codigo ? Link to comment Share on other sites More sharing options...
psiico Posted April 21, 2007 at 09:56 AM Report Share #95021 Posted April 21, 2007 at 09:56 AM qualquer coisa tipo isto: Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long) Dim DATA As String Winsock2.GetData DATA ' Esta linha de codigo, pega no conteudo que chegou da outra maquina, e mete-a num Textbox, a funcao vbcrlf e' para fazer paragrafo (caso nao t lembres / saibas) Text1.Text = Text1.Text & vbCrLf & DATA ' Aqui podes por para tocar o som, se quiseres um simples beep, poes: beep ' Caso queiras o som: With MMControl1 .Command = "Close" .FileName = "destino para o ficheiro" .Command = "Open" .Command = "Play" End With End Sub Psiico // Portfolio Link to comment Share on other sites More sharing options...
tabarra Posted April 21, 2007 at 01:08 PM Report Share #95062 Posted April 21, 2007 at 01:08 PM apenas para testar, eu meti: Private Sub Command1_Click() With MMControl1 .FileName = "c:\9_64B.WAV" .Command = "Open" .Command = "Play" End With End Sub e deu erro ajude por favor quado eu acabar mew projeto eu mando pra vcs verem Link to comment Share on other sites More sharing options...
psiico Posted April 21, 2007 at 01:55 PM Report Share #95080 Posted April 21, 2007 at 01:55 PM e adicionast o component? Psiico // Portfolio Link to comment Share on other sites More sharing options...
tabarra Posted April 21, 2007 at 03:53 PM Report Share #95108 Posted April 21, 2007 at 03:53 PM como adiciono ? Link to comment Share on other sites More sharing options...
tabarra Posted April 21, 2007 at 04:02 PM Report Share #95110 Posted April 21, 2007 at 04:02 PM por favor, teria como me disponibilizar um form com apenas um botão e quando clicado ele toca o som "c:\9_64B.WAV" ??? (sem abrir o windows media player) gradecid edit: jah consegui... muito obrigado agora e soh eu dah hide em algumas coisas Link to comment Share on other sites More sharing options...
psiico Posted April 22, 2007 at 03:28 AM Report Share #95202 Posted April 22, 2007 at 03:28 AM ainda bem 🙂 Psiico // Portfolio Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now