Pode 1 Server TCP enviando para 2 Clients na mesma porta ?

Para "abobrinhas" use o " Boteco"

Moderadores: andre_luis, 51, guest2003, Renie

Pode 1 Server TCP enviando para 2 Clients na mesma porta ?

Mensagempor andre_luis » 26 Nov 2010 13:22

Minha dúvida é saber se ao o cliente 1 receber o pacote, se o cliente 2 não recebe ?
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Pode 1 Server TCP enviando para 2 Clients na mesma porta

Mensagempor Rodrigo_P_A » 26 Nov 2010 13:28

andre_teprom escreveu:Minha dúvida é saber se ao o cliente 1 receber o pacote, se o cliente 2 não recebe ?


claro. imagina o servidor HTTP, como ele funciona? num é sempre na porta 80?

e o ftp num é sempre na porta 21?

nestes servidores você pode ter vários clientes conectados, todos na mesma porta.

eu já criei aplicações desta forma e funciona.

o protocolo TCP já trata isso, pelo menos com sockets é assim

não sou expert, mas funciona!
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Re: Pode 1 Server TCP enviando para 2 Clients na mesma porta

Mensagempor andre_luis » 26 Nov 2010 16:02

Rodrigo,

Também não sou expert, mas acredito que exista porta de entrada e de saída dos aplicativos. No caso desses que voce mencionou, são portas de entrada, correto ? O Cliente acessa nessas portas.

No meu caso, tenho um dispositivo que funciona como server, e com uma porta fixa.

Acabei fazendo um teste, que me confirmou o que eu suspeitava.
Não funciona.

Conectei 2 instancias do Hiperterminal ( conexão Winsock TCP ) na mesma porta, e no mesmo instante que conectava por uma instancia, parava de receber os dados pela outra ( e acabava sendo desconectado ), e vice-versa.


Obrigado.
+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Pode 1 Server TCP enviando para 2 Clients na mesma porta

Mensagempor Rodrigo_P_A » 26 Nov 2010 16:15

andre_teprom escreveu:Rodrigo,

Também não sou expert, mas acredito que exista porta de entrada e de saída dos aplicativos. No caso desses que voce mencionou, são portas de entrada, correto ? O Cliente acessa nessas portas.

No meu caso, tenho um dispositivo que funciona como server, e com uma porta fixa.

Acabei fazendo um teste, que me confirmou o que eu suspeitava.
Não funciona.

Conectei 2 instancias do Hiperterminal ( conexão Winsock TCP ) na mesma porta, e no mesmo instante que conectava por uma instancia, parava de receber os dados pela outra ( e acabava sendo desconectado ), e vice-versa.


Obrigado.
+++


Eu criei um servidor que aceita várias conexões sempre na mesma porta, na hora que eu recebo uma solicitação eu associo a conexão a um outro socket e uma classe e trato tudo.

você deve estar fazendo alguma coisa errada.

no meu software eu tenho mais de 100 equipamentos conectados no mesmo servidor e se comunicando com classes independentes, o que eu mando para 1 só para para ele etc...
Editado pela última vez por Rodrigo_P_A em 26 Nov 2010 16:26, em um total de 1 vez.
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Mensagempor proex » 26 Nov 2010 16:23

Pode 1 Server TCP enviando para 2 Clients na mesma porta ?

Pode.

Neste caso o Server abrirá dois sockets, um para cada cliente.

Não importa se esses clientes estão usando a mesma porta.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Mensagempor andre_luis » 26 Nov 2010 17:39

Talvez por isso não funcione com 2 clientes, pois o dispositivo server não deve estar abrido outro socket da maneira como voce citou.


AT+
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor Rodrigo_P_A » 27 Nov 2010 09:20

andre_teprom escreveu:Talvez por isso não funcione com 2 clientes, pois o dispositivo server não deve estar abrido outro socket da maneira como voce citou.


AT+



Eu vou disponibilizar um software TCP Server, TCP Client onde você pode abrir uma instancia do TCP Server e várias do TCP CLient, quando você solicita a comunicação via TCP CLient eu crio uma nova instancia e associoa a solicitação a um novo socket, e a comunicação fica entre uma instancia do server e o client, você pode abrir vários clients e se conectar ao mesmo server.

daqui a pouco eu passo o link
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Mensagempor Rodrigo_P_A » 27 Nov 2010 10:27

Segue o link para o software que eu mencionei:


http://www.kitmcu.com.br/produtos/softw ... KitMCU.zip


Baixe ele e faça o teste, acho que é a melhor forma de você entender.

Trata-se de um software com terminal simples TCP Server e TCP CLient.

Quando eu tiver tempo vou incrementar mais o software, mas já dá pra vc testar e constatar que é possível fazer várias conexões na mesma porta.
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Mensagempor andre_luis » 27 Nov 2010 11:06

Rodrigo,


Bacana o programa.
Olha, eu testei, mas não funcionou da maneira como eu esperava.

Cada vez que instancio um Cliente, o programa abri outro Server, e cada cliente envia para o seu server, realmente pela mesma porta.

Porém, seria interessante se tivesse como testar apenas 1 server instanciado enviando para 2 clientes.

+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor Rodrigo_P_A » 27 Nov 2010 11:10

andre_teprom escreveu:Rodrigo,


Bacana o programa.
Olha, eu testei, mas não funcionou da maneira como eu esperava.

Cada vez que instancio um Cliente, o programa abri outro Server, e cada cliente envia para o seu server, realmente pela mesma porta.

Porém, seria interessante se tivesse como testar apenas 1 server instanciado enviando para 2 clientes.

+++



Mas é um server só, olhe que é o mesmo aplicativo em instancias diferentes, mas é sempre o mesmo server.

pense sobre o WebServer, ele funciona como vc disse.

agora, eu não sei o que vc quer fazer, vc quer transmitir algum tipo de stream de aúdio por exemplo?

se for isso nunm precisa usar TCP, faça via UDP e envie via broadcast por exemplo, acho que funciona melhor

ou até mesmo envia para a placa direto.
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Mensagempor ivan » 28 Nov 2010 18:45

Pode 1 server enviar para 2 clients?

SIM!

Como?

Conforme o Proex mencionou.

Precisa necessáriamente de uma 2a instancia?

NÃO!

Como?

THREAD!

OBS:Um bom livro de socket resolve o problema.
"A mente que se abre a uma nova idéia jamais volta ao seu tamanho original." (Albert Einstein).
Avatar do usuário
ivan
Word
 
Mensagens: 618
Registrado em: 12 Out 2006 21:27

Mensagempor Rodrigo_P_A » 28 Nov 2010 19:35

Claro que pode, mas eu não entendo pra que?

se for para enviar dados para vários clientes "ao mesmo tempo" via TCP sem nova instância, até fica esquisito, pois cada um pode demorar para receber a informação e o tratamento disso vai ficar muito mais complicado.
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Mensagempor andre_luis » 29 Nov 2010 06:45

Ivan,


Seria fácil se fosse eu que tivesse feito o Server, que é uma "caixa-preta"; não tenho acesso.
Além disso, o que se costuma fazer, é criar threads para cada socket, e no meu caso, estou falando de portas fixas.

De qualquer modo, já ficou claro pelos testes anteriores, que não funciona.
Vou ter de pensar em outra solução.

Obrigado a todos.

+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor ivan » 29 Nov 2010 15:22

andre_teprom escreveu:... e no meu caso, estou falando de portas fixas.


É a mesma solução.

andre_teprom escreveu:... o Server, que é uma "caixa-preta"...


Creio q vc precisa de um servidor de aplicação. Se o seu SO for Ruidows dá uma olhada no MTS - Microsoft Transaction Server.
http://technet.microsoft.com/en-us/libr ... 23270.aspx
"A mente que se abre a uma nova idéia jamais volta ao seu tamanho original." (Albert Einstein).
Avatar do usuário
ivan
Word
 
Mensagens: 618
Registrado em: 12 Out 2006 21:27


Voltar para Assuntos Gerais

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x