Você está na página 1de 22

Programao Cliente Servidor

C# - SOCKETS
Professor Melo

Apresentao
Tcnico em Desenvolvimento de Sistemas - Ibratec,

Recife-PE
Bacharel em Sistemas de Informao FIR, Recife-PE
Especialista em Docncia no Ensino Superior
Faculdade Maurcio de Nassau, Recife-PE
Mestre em Cincia da Computao UFPE/CIN,
Recife-PE
Currculo Lattes
http://lattes.cnpq.br/0759508594425296)
Homepage
https://sites.google.com/site/hildebertomelo/

Disciplinas Lecionadas

Desenvolvimento de Aplicaes Desktop


Programao Orientada a Objetos
Estrutura de Dados
Tecnologia da Informao & Sociedade
Sistemas Operacionais
Sistemas Distribudos
Introduo a Informtica
Lgica de Programao
Informtica Aplicada a Sade
Banco de Dados
Projeto de Banco de Dados
Anlise de Projetos Orientado a Objetos
Programao Cliente Servidor
Linguagens de Programao: C, C#, Pascal, PHP, ASP, Delphi, Java, JavaScript
Programao WEB

Sockets
Para estabelecer a Comunicao Interprocesso nos Sistemas

Distribudos, para permitir que processos se comuniquem na troca de


dados ou acessos a recursos ou servios em processadores remotos, se
faz necessrio o uso de um mecanismo de servios de transporte;
Um dos mecanismos mais utilizado o Socket;
Sockets a maneira mais popular de utilizar as funcionalidades de
comunicao TCP/IP;
Todos os mecanismos Sockets so gerenciados pela camada de
transporte;
Existem diversas APIs Sockets (Application Program Interface) e as
mais populares so do ambiente Unix, bem como a WinSock do
Windows.

Sockets
Um Socket um ponto final (endpoint) de um canal

bidirecional de comunicao entre dois programas


rodando em uma rede;
Cada Socket tem os seguintes endereos de endpoint:
Endereo local (nmero da porta) que refere-se ao
endereo da porta de comunicao para camada de
transporte;
Endereo global (nome host) que refere-se ao
endereo do computador (host) na rede.

Sockets

Porta
Uma porta identifica um processo exclusivo para o qual um servio

pode ser fornecido. No contexto atual, uma porta est associada a um


aplicativo que oferea suporte a Windows Sockets. A idia identificar
com exclusividade cada aplicativo do Windows Sockets para que voc
possa ter mais de um aplicativo do Windows Sockets executando em
um computador ao mesmo time.
Determinadas portas so reservadas para servios comuns, sistema
autnomo FTP. Voc deve evitar usar as portas, a menos que voc
fornece esse tipo de servio.
Portas reservadas 0 (zero) a 1023

Socket - Comunicao
O servidor apenas fica ouvindo o Socket aguardando

um pedido de conexo do cliente;


O cliente sabe o nome do host e qual porta est
associada aplicao servidora;
Assim que o servidor aceitar a conexo, este cria um
novo Socket (e conseqentemente o associa a uma
nova porta) e pode ficar esperando novas conexes no
Socket original enquanto atende s requisies do
cliente pelo novo Socket.

Socket - Comunicao

Socket Servidor
Efetua a criao de um Socket;
Associa o Socket a um endereo local;
Aguarda por conexes da parte cliente;
Aceita conexes;
L requisies;
Opcionalmente envia resposta;
Fecha o Socket.

Socket Cliente
Efetua a criao do Socket;
Estabelece a conexo;
Envia a requisio;
Opcionalmente aguarda resposta;
Fecha o Socket.

Criando Socket Server c#


Bibliotecas Necessrias
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Threading;

Variveis
private Socket socket;
private Thread thread;

private NetworkStream networkStream;


private BinaryWriter binaryWriter;
private BinaryReader binaryReader;
TcpListener tcpListener;

Enviando Mensagem ao Cliente

Criando Socket Client C#


Bibliotecas necessrias
System.Net.Sockets;
using System.Threading;
Variveis
private NetworkStream networkStream;
private BinaryWriter binaryWriter;
private BinaryReader binaryReader;
private TcpClient tcpClient;
private Thread thread;

Mtodo Socket Client

Construtor

Enviando Mensagem ao Servidor

Perguntas

Referncias
Visual C# Developer Center

http://msdn.microsoft.com/ptbr/vcsharp/aa336809.aspx
Microsoft Visual C# 2005 passo a passo, Jonh Sharp,
editora Bookman
C# Como programar, Deitel.
Prof. Cesar Augusto Tacla (UNIVERSIDADE
TECNOLGICA FEDERAL DO PARAN PR http://www.dainf.ct.utfpr.edu.br/~tacla )

22

Você também pode gostar