[C#] Criando um servidor #1 Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Aldeia RPG
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

[C#] Criando um servidor #1

4 participantes

Ir para baixo

[C#] Criando um servidor #1 Empty [C#] Criando um servidor #1

Mensagem por Paulo Soreto Sex Abr 04, 2014 11:19 am

Vi que muitos se interessam em trabalhar com sockets, por isso estarei criando alguns tutoriais de como trabalhar com aplicações Client/Server.
Não pretendo focar muito nos conceitos mas explicarei o máximo possível, afinal já existem muitos tutoriais focados nos conceitos e lógica.
Estarei utilizando Visual Studio 2013 Professional, ele é pago, porém para quem precisa de um mais simples pode baixar o Visual Studio 2013 for Desktop, tem suporte a VB, C# e C++.

Vamos criar um novo projeto chamado ServidorAula. Ao iniciar você deverá adicionar os seguintes componentes (as propriedades podem se alteradas da aba Properties):

  • Label: [Text: Nome; Name: lblName]
  • Label: [Text: Porta; Name: lblPort]
  • TextBox: [Name: txtName]
  • TextBox: [Name: txtPort]
  • Button: [Text: Iniciar; Name: btnStart]
  • Button: [Text: Parar; Name: btnStop]

Pronto, no final teremos algo próximo a isso:

[C#] Criando um servidor #1 DOeklfX
Pressione Ctrl + Alt + 0 para abrir o arquivo de código do Form.
Na parte onde se importa as classes (using...), troque as que estão la por essas:
[C#] Criando um servidor #1 U7R0BnX
Por enquanto serão as únicas que usaremos.
Crie as seguintes variáveis:
[C#] Criando um servidor #1 NG3YEtc
Agora crie um método para iniciar o servidor, com nome de Start, não receberá nenhum argumento inicial:
[C#] Criando um servidor #1 3xqlOpf
Nele armazenamos o nome do servidor e a porta correspondente dentro das variáveis criadas anteriormente. Agora temos que iniciar de fato o servidor:
[C#] Criando um servidor #1 LH164EI
O método Start da classe TcpListener pode receber o argumento backlog que seria o limite de conexões, não costumo usar mas que se interessar fique a vontade.
Agora que já temos um "servidor" por assim dizer, precisamos de um loop para atualizar o mesmo e verificar se há conexões pendentes, aceitar conexões de clients, receber e enviar as packets.
Para isso tem vários meios mas o que achei melhor é implementar esse loop dentro do método Idle, que é quando o programa encerra o processamento e entra em modo ocioso.
Vamos abrir o arquivo Program.cs (pode ser visto no Solution Explorer).
[C#] Criando um servidor #1 KRPm0LG
Troque o código pelo seguinte:
[C#] Criando um servidor #1 VjWMRHh
Pode-se notar que o MainLoop está vermelho pois o método ainda não foi criado, então volte ao código do form e crie o seguinte método:
[C#] Criando um servidor #1 QTyALNz
Iremos criar uma variável para ativar/desativar o loop do server e um método para Parar o servidor:
[C#] Criando um servidor #1 04DLU3F
Nos próximos tutoriais irei tentar explicar melhor cada função, esse é meu primeiro tutorial sobre assunto e creio que não deixei as coisas mutio claras, qualquer dúvida comentem no tópico que estarei esclarecendo.


Última edição por Paulo Soreto em Sex Abr 04, 2014 1:36 pm, editado 1 vez(es)

_________________
[C#] Criando um servidor #1 FwYnoXI
Paulo Soreto
Paulo Soreto
Lenda
Lenda

Mensagens : 1980
Créditos : 367

Ficha do personagem
Nível: 1
Experiência:
[C#] Criando um servidor #1 Left_bar_bleue0/0[C#] Criando um servidor #1 Empty_bar_bleue  (0/0)
Vida:
[C#] Criando um servidor #1 Left_bar_bleue30/30[C#] Criando um servidor #1 Empty_bar_bleue  (30/30)

https://www.aldeiarpg.com/

Ir para o topo Ir para baixo

[C#] Criando um servidor #1 Empty Re: [C#] Criando um servidor #1

Mensagem por Ian Sex Abr 04, 2014 11:35 am

Gostei da sua aula socreto ta tudo bem explicativo e bem detalhado melhor parte que gostei foi não colocar códigos para copiarem e colar e bom pelo menos a galera já começa escrevendo algo continue =p
Ian
Ian
Ocasional
Ocasional

Mensagens : 216
Créditos : 27

Ir para o topo Ir para baixo

[C#] Criando um servidor #1 Empty Re: [C#] Criando um servidor #1

Mensagem por Valentine Sex Abr 04, 2014 11:36 am

Poxa cara, isso sim é realmente muito bom, você poderia disponibilizar o resultado da aula para download também.

+ 10 créditos
Valentine
Valentine
Administrador
Administrador

Medalhas : [C#] Criando um servidor #1 ZgLkiRU
Mensagens : 5341
Créditos : 1164

https://www.aldeiarpg.com/

Ir para o topo Ir para baixo

[C#] Criando um servidor #1 Empty Re: [C#] Criando um servidor #1

Mensagem por Paulo Soreto Sex Abr 04, 2014 12:05 pm

Obrigado, não coloquei os código pra fazer com que as pessoas que acompanharem a série realmente digitem o código para fixar e acabar aprendendo.
Boa idéia Marlos, nos próximos irei por.

_________________
[C#] Criando um servidor #1 FwYnoXI
Paulo Soreto
Paulo Soreto
Lenda
Lenda

Mensagens : 1980
Créditos : 367

Ficha do personagem
Nível: 1
Experiência:
[C#] Criando um servidor #1 Left_bar_bleue0/0[C#] Criando um servidor #1 Empty_bar_bleue  (0/0)
Vida:
[C#] Criando um servidor #1 Left_bar_bleue30/30[C#] Criando um servidor #1 Empty_bar_bleue  (30/30)

https://www.aldeiarpg.com/

Ir para o topo Ir para baixo

[C#] Criando um servidor #1 Empty Re: [C#] Criando um servidor #1

Mensagem por Singelinho Ter Abr 08, 2014 6:10 pm

Cara gostei pra caramba, vou criar meu servidor por C#(entre outras coisas para complementar meu server). Belo tutorial...

_________________
[C#] Criando um servidor #1 VMscx1Q
Singelinho
Singelinho
Ocasional
Ocasional

Medalhas : [C#] Criando um servidor #1 ImDuCdXyFXERC
Mensagens : 228
Créditos : 93

Ir para o topo Ir para baixo

[C#] Criando um servidor #1 Empty Re: [C#] Criando um servidor #1

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos