Escolar Documentos
Profissional Documentos
Cultura Documentos
br)
(http://108.179.253.230/~profe847/wpcontent/uploads/2013/12/d0.jpg)
Como podemos ver na figura acima, para um cliente
comunicar-se com outro, necessrio que se passe pelo
servidor.
Bom como podemos ver, devemos possuir ento pelo menos
computadores, um com o programa cliente, e o outro com o
programa servidor.
Um exemplo disso um jogo em LAN, onde um dos jogadores
cria uma sala (servidor), e todos os outros jogadores se
conectam ao jogador que criou a sala (clientes). Uma coisa
importante a salientar que o servidor tambm joga logo, o
servidor tambm pode ser um cliente.
Bom, vamos por a mo na massa. A linguagem que escolhi para
nossa demonstrao foi o Borland Delphi 7 que, ao meu ver, a
mais fcil de se utilizar os SOCKS.
Iniciando o programa.
Para iniciarmos nosso exemplo, devemos adicionar a API
WINSOCK, que a verso do Windows de nossa API. Para isso
siga os passos abaixo.
Aps inicializar o Deplhi, va na guia Component. No menu
suspenso clique em install Packages.
Na janela que se segue, clique em ADD. Como na figura
abaixo.
(http://www.professorbaruffi.com.br/wpcontent/uploads/2013/12/d1.jpg)
Ao clicar em ADD Uma janela onde voc deve localizar o
arquivo da API.
O arquivo encontra-se na pasta BIN, que esta dentro da pasta
onde o Delphi 7 esta instalado. Se voc instalou seu Delphi no
local padro, esta pasta esta:
C:Arquivos de programasBorlandDelphi7Bin
Dentro desta pasta esto muitas APIs que podem ser
adicionadas em caso de necessidade, nos estamos procurando
o que vai nos proporcionar os componentes do WINSOCK,
cujo nome :
dclsockets70.bpl
Ao encontrar este arquivo adicione o mesmo, clicando em
Abrir depois em OK.
Aps isso, o componente esta adicionado na nossa toolbox
do Delphi na aba Internet, como na figura abaixo.
(http://www.professorbaruffi.com.br/wpcontent/uploads/2013/12/d2.jpg)
Temos dois novos componentes includos no Delphi:
(http://108.179.253.230/~profe847/wpcontent/uploads/2013/12/d3.jpg)
ClientSocket: Nosso componente cliente. ele quem faz a
conexao do cliente com o servidor.
(http://108.179.253.230/~profe847/wpcontent/uploads/2013/12/d4.jpg)
ServerSocket: Nosso componente Servidor. ele que fica
aguardando a conexo do cliente para executar suas funes.
Bom, vamos comear com nosso projeto exemplo.
Cliente
(http://www.professorbaruffi.com.br/wpcontent/uploads/2013/12/d5.jpg)
Componentes: Propriedade
Edit1: Name=txt_ip
Edit2: Name=txt_porta
Button1: Name=btn_conec ; Caption=Conectar
Button2: Name=btn_desco ; Caption=Desconectar;
Enabled=False
Memo1: Name=caixa_msg
Memo2: Name=caixa_receb
Button3: Name=btn_enviar ; Caption=Enviar
ClientSocket: Name=cliente
Com a tela acima pronta podemos comear a programar os
botes.
Primeiro o boto Conectar:
caixa_receb.Clear;
end;
Com o cdigo acima, temos vrios comandos que no so
usados normalmente. Falaremos um pouco de nosso
componente de conexo, o cliente.
.Address:Propriedade onde se coloca o IP de nosso
servidor.
.Port:Propriedade onde colocamos a porta que esta
aberta para nossa conexo no servidor.
.Active:Ativa o componente.
Seguindo para o boto de desconectar:
(http://108.179.253.230/~profe847/wpcontent/uploads/2013/12/d3.jpg)
Ao clicar, devemos ir a nosso Object Inspector na parte
esquerda inferior da tela e clicar na aba Events. Dentro da aba
Events devemos encontrar o evento OnRead e clicar nele.
Como mostra a figura abaixo.
(http://108.179.253.230/~profe847/wpcontent/uploads/2013/12/d555.jpg)
Dentro desta funo que se abre para criarmos, fica o cdigo
que executado toda vez que uma nova mensagem de nosso
servidor enviada a este cliente.
end;
O nico comando presente nesta funo o caixa_receb.Text
:=socket.ReceiveText
que nos diz que tudo que chegar em nosso cliente deve ser
colocado na caixa de texto.
SERVIDOR
Seguindo para a prxima parte, vamos comear a programar o
Servidor. Lembrando que temos que comear um novo
programa.
(http://108.179.253.230/~profe847/wpcontent/uploads/2013/12/d6.jpg)
Componentes: Propriedade
Edit1: Name=xt_porta
Button1: Name=btn_ati; Caption=Ativar
Button2: Name=btn_des; Caption=Desativar
Memo1: Name=caixa_entrada
Memo2: Name=caixa_msg
Button3: Name=btn_enviar; Caption=Enviar
ServerSocket: Name =servidor
Comeando a programar, vamos partir do boto ATIVAR:
(http://108.179.253.230/~profe847/wpcontent/uploads/2013/12/d8.jpg)
Esta funo nos auxilia, pois ela quem fica verificando as
conexes, e que executa seu cdigo toda vez que uma nova
mensagem de algum client chega nela. Bom vamos ao cdigo:
procedure TForm1.servidorClientRead(Sender:
TObject;Socket: TCustomWinSocket);
var
cmd : string;
begin
cmd:=socket.ReceiveText;
caixa_entrada.Text := cmd;
end;
Bom, esta funo possui um nico comando normalmente
desconhecido, porem vamos dar uma ateno especial ha ela.
criado uma varivel interna chamada cmd onde gravaremos
tudo que entra na nossa conexo. Em seguida temos o
comando socket.receivetext; que pega o contedo que foi
enviado e coloca na varivel cmd. O comando abaixo apenas
coloca o que foi gravado na varivel cmd na nossa caixa de
texto.
Seguindo nossa linha, falta apenas o envio de mensagens do
servidor para o cliente.
Vamos h programao do boto ENVIAR:
(http://108.179.253.230/~profe847/wpcontent/uploads/2013/12/d9.jpg)
Com os comando que foram apresentados j possvel montar
vrios projetos, espero que seja til. Fica abaixo para download
esse programa que fizemos aqui.
OBS: Chegamos ao final de nossa postagem, como a maioria
deve ter notado, eu no mostrei como fazer para controlar
com mais preciso para quem cada mensagem vai, saber quem
esta conectado quem no esta. Sim, eu no mostrei, pois bem
complicadinho e quero deixar isso para outra postagem em um
futuro prximo.
OBS2: Quando voc rodar o servidor pela primeira vez, se seu
firewall estiver ativado, ele vai questionar voc pedindo
autorizao para abrir uma exceo para este programa. Isso
se deve ao fato de que um firewall ter que vigiar todas as
entradas e sadas de rede do computador, coisa que nosso
programa esta tentando acessar.
OBS3: Caso voc v usar este programa entre dois
computadores pela internet e haja um roteador entre a
maquina que vai ser o servidor e a internet, este roteador deve
possuir tambm uma exceo que deve ser acrescentada
manualmente quando se for utilizar, por meio do gerenciador
(http://www.professorbaruffi.com.br/tag/programacao/)], [Segurana
(http://www.professorbaruffi.com.br/tag/seguranca/)], [WINSOCK
(http://www.professorbaruffi.com.br/tag/winsock/)]
(http://www.facebook.com/sharer.php?
(http://twitter.com/share?
(http://plus.google.com/share?
(http://www.linkedin.com/shareArt
u=http%3A%2F%2Fwww.professorbaruffi.com.br%2F2013%2F12%2F06%2Fconectandotext=Conectando url=http%3A%2F%2Fwww.professorbaruffi.com.br%2F2
mini=true&url=http%3A%2F%2Fwww
softwares-
softwares
softwares-
softwares-
via-
via rede
via-
via-
rede-
(WINSOCK))
rede-
rede-
winsock%2F)
winsock%2F&title=Conectando
winsock%2F)
softwares
via rede
(WINSOCK)&summary=Bom
seguindo
nossas
postagens
sobre
programao,
o novo
tpico
que
abordaremos
sobre
como
conectar
seus
programas
entre
eles,
por
meio de
rede ou
internet.
Programas
como o
MSN,
Skype e
mIRC
utilizam
este
mtodo
para
comunicar
um ao
outro.
Abordaremos
um dos
mtodos
que
mais
so
utilizados,
o)
(http://www.professorbaruffi.com.br/author/baruffi/)
FACEBOOK COMMENTS
POST A COMMENT
Message..
Name:
Email:
Website:
POST COMMENT.
(http://anuncie.boo
box.com/?
utm_source=SS%20beacon&utm_medium=Display&utm_campaign=SS%20beacon)
44%
R$ 131,68 APROVEITE
50%
Bota Gonew Fenix 2.0
R$ 94,03
APROVEITE
TODOS OS ARTIGOS
Ataque de
negao de
servio
(DoS).
(http://www.professorbaru.com.br/2015/10/16/a
de-
negacaode-servicodos/)
Hackers
(http://www.professorbaruffi.com.br/category/seguranca/hackers/)
Segurana
(http://www.professorbaruffi.com.br/category/seguranca/)
2
Conectando
o C# ao
banco de
dados
Firebird
(http://www.professorbaru.com.br/2015/08/27/co
o-c-aobanco-dedados rebird-2/)
Programao
(http://www.professorbaruffi.com.br/category/programacao/)
Visual Studio
(http://www.professorbaruffi.com.br/category/programacao/vs/)
1
Verdadeiro
mundo dos
hackers.
(http://www.professorbaru.com.br/2014/03/31/o
verdadeiromundodoshackers/)
Hackers
(http://www.professorbaruffi.com.br/category/seguranca/hackers/)
Segurana
(http://www.professorbaruffi.com.br/category/seguranca/)
1
MAIS COMENTADOS
Hospedagem, o que e
como funciona
(http://www.professorbaru.com.br/2014/03/07/hospedagemo-que-e-e-comofunciona/)
PHP
PHP
(http://www.professorbaruffi.com.br/category/programacao/php/)
Programao
(http://www.professorbaruffi.com.br/category/programacao/)
Redes (http://www.professorbaruffi.com.br/category/redes/)
0
Manipulando arquivos
INI
(http://www.professorbaru.com.br/2013/09/11/manipulandoarquivos-ini/)
Programao
(http://www.professorbaruffi.com.br/category/programacao/)
Visual Studio
(http://www.professorbaruffi.com.br/category/programacao/vs/)
0
BITCOINS e as
criptomoedas (Parte 2
Final).
(http://www.professorbaru.com.br/2014/01/13/bitcoinse-as-criptomoedasparte-2- nal/)
Liberdade Expresso
(http://www.professorbaruffi.com.br/category/seguranca/liberdade/)
Segurana
(http://www.professorbaruffi.com.br/category/seguranca/)
0
(http://www.professorbaruffi.com.br)
Bem vindos ao Site do professor Baruffi! Aqui voc encontrara contedo diversificado sobre as reas de
tecnologia! Visite, veja, e deixe seus comentrios.
POSTS RECENTES
POSTS RECENTES
Ataque de negao de servio (DoS). (http://www.professorbaruffi.com.br/2015/10/16/ataque-denegacao-de-servico-dos/)
16 de outubro de 2015
CATEGORIAS
[ PROGRAMAO (HTTP://WWW.PROFESSORBARUFFI.COM.BR/CATEGORY/PROGRAMACAO/) (7)
[ DELPHI (HTTP://WWW.PROFESSORBARUFFI.COM.BR/CATEGORY/PROGRAMACAO/DELPHI/) (2)
[ PHP (HTTP://WWW.PROFESSORBARUFFI.COM.BR/CATEGORY/PROGRAMACAO/PHP/) (3)
[ VISUAL STUDIO (HTTP://WWW.PROFESSORBARUFFI.COM.BR/CATEGORY/PROGRAMACAO/VS/)
(3)
[ REDES (HTTP://WWW.PROFESSORBARUFFI.COM.BR/CATEGORY/REDES/) (3)
[ SEGURANA (HTTP://WWW.PROFESSORBARUFFI.COM.BR/CATEGORY/SEGURANCA/) (10)
[ HACKERS (HTTP://WWW.PROFESSORBARUFFI.COM.BR/CATEGORY/SEGURANCA/HACKERS/) (2)
[ LIBERDADE EXPRESSO
(HTTP://WWW.PROFESSORBARUFFI.COM.BR/CATEGORY/SEGURANCA/LIBERDADE/) (7)
[ VIRUS (HTTP://WWW.PROFESSORBARUFFI.COM.BR/CATEGORY/SEGURANCA/VIRUS/) (1)
CONTATO
Nome
Email
Sua Mensagem...
Enviar