none
Sockets (O que são... para que servem???)

    Question

  • Olá amigos

     

    Gostaria de entender melhor sobre o conceito e desenvolvimento com sockets.

     

    Pelo que eu entendi, sockets podem ser usados para comunicação entre máquinas. É como se fosse o plug da tomada.

     

    Puder me esclarecer este conceito e me apontar algum exemplo !

     

    Detalhe: Trabalhei bastante com o VB6, porém nunca utilizei o Winsock.

     

    Agora gostaria de entender o namespace

     

    System.Net.Sockets  que pelo que entendi é equivalente aquela ocx Winsock...

     

    Grato

     

     

    Friday, April 27, 2007 8:00 PM

Answers

  • Exato, essa classe é equivalente ao Winsock do VB6. Básicamente você estabelece uma conexão com sockets usando um endereço IP juntamente com uma porta, na qual a comunicação se dará. E essa comunicação se dá através de um protocolo que você deverá criar, caso o server e o client seja desenvolvido por você ou você pode se conectar à um servidor como um de SMTP e nesse caso você vai conversar com ele atraves do protocolo SMTP. Trocando em miúdos, é uma comunicação de baixo nível (levando em consideração que estamos usando uma linguagem de alto nivel).
    Friday, April 27, 2007 8:14 PM
  • Oi !

     

    Complementando o que Leonardo falou, apenas explicando em nível de rede : Se você tem um IP, você está apontando para uma máquina. Mas se nesta máquina existem 10 aplicações rodando, qual vai receber sua mensagem ?

     

    Para resolver este problema as aplicações abrem portas e ao fazer a comunicação você precisa indicar não apenas o IP, mas a porta de comunicação.

     

    Socket é o conjunto IP e porta e quando nos referimos a classes e programação, estamos falando de abrir uma porta e ficar esperando alguém enviar algo, ou o contrário.

     

    A abertura da porta ocorre na camada de transporte do modelo OSI.

     

    []'s

     

    Friday, April 27, 2007 8:24 PM

All replies

  • Exato, essa classe é equivalente ao Winsock do VB6. Básicamente você estabelece uma conexão com sockets usando um endereço IP juntamente com uma porta, na qual a comunicação se dará. E essa comunicação se dá através de um protocolo que você deverá criar, caso o server e o client seja desenvolvido por você ou você pode se conectar à um servidor como um de SMTP e nesse caso você vai conversar com ele atraves do protocolo SMTP. Trocando em miúdos, é uma comunicação de baixo nível (levando em consideração que estamos usando uma linguagem de alto nivel).
    Friday, April 27, 2007 8:14 PM
  • Eu não entendi a parte em que você diz:

     

    " ...E essa comunicação se dá através de um protocolo que você deverá criar..."

     

     

    Eu tenho que criar um protocolo, ou eu posso usar um existente, tal como http ou tcp?

    Friday, April 27, 2007 8:18 PM
  • Oi !

     

    Complementando o que Leonardo falou, apenas explicando em nível de rede : Se você tem um IP, você está apontando para uma máquina. Mas se nesta máquina existem 10 aplicações rodando, qual vai receber sua mensagem ?

     

    Para resolver este problema as aplicações abrem portas e ao fazer a comunicação você precisa indicar não apenas o IP, mas a porta de comunicação.

     

    Socket é o conjunto IP e porta e quando nos referimos a classes e programação, estamos falando de abrir uma porta e ficar esperando alguém enviar algo, ou o contrário.

     

    A abertura da porta ocorre na camada de transporte do modelo OSI.

     

    []'s

     

    Friday, April 27, 2007 8:24 PM
  • Veja bem, quando eu falei de criar protocolo, é protocolo de comunicação e não de transporte. O protocolo de transporte será o Tcp/Ip ou outro qualquer.
    Friday, April 27, 2007 8:38 PM
  • Um bom exemplo disso são as aplicações cliente / servidor. Antigamente o icq, msn, utilizavam +- esse conceito. Hoje é mais avançado um pouco, em termos de protocolo.
    Friday, April 27, 2007 11:16 PM