Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Cypher

Problemas com o Winsock

Recommended Posts

http://forum.imasters.com.br/public/style_emoticons/default/worshippy.gif Ham... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Bem quanto ao "cartas_iniciais&28&104&45&69&21&93&45" tinha dito que ficaria "janeiro" http://forum.imasters.com.br/public/style_emoticons/default/blush.gif não interessa era mesmo "cartas_iniciais&28&104&45&69&21&93&45" simplesmente pus "janeiro" para não parecer uma coisa tao complicado .. :lol:

Mas, então está correto? Porque eu *não* fiz nada para isso funcionar.

Então achas melhor na tua opinião criar para todos os clientes a mesma porta ?

Sim, é o mais prático.

Assim não é necessário andar sempre a fechar a porta sempre que se quer enviar dados a outro cliente?

Não, isso não vai ser necessário. O socket principal vai sempre ficar escutando (listening) e o outros (criados em tempo de execução) é que irão ficar realmente conectados com os clientes.

E não haverá problemas por exemplo se ao conectar um cliente antes de fechar a porta se conectar outro cliente?

Não vai haver necessidade de fechar a porta. O servidor vai estar sempre escutando.

E assim já ficava resolvido o problema de andar a carregar no botão para fechar a porta ?

Creio que sim.Abraços,Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

epá mas eu já esprimentei com a mesma porta e quando ficando sempre em modo listen e quando se conecta mais que 1 à msesma porta dá erro tenho obrigatóriamente que a fechar!!!podes me mostrar a maneira que tu dizias para ficar em modo listen?? unicamente para a mesma porta??

Compartilhar este post


Link para o post
Compartilhar em outros sites

epá mas eu já esprimentei com a mesma porta e quando ficando sempre em modo listen e quando se conecta mais que 1 à msesma porta dá erro tenho obrigatóriamente que a fechar!!!podes me mostrar a maneira que tu dizias para ficar em modo listen?? unicamente para a mesma porta??

Provavelmente o problema é que você está aceitando a conexão no mesmo socket que a recebe, o que não seria o caso. Você vai ter que usar um array de sockets, então ao invés de WskS, WskS1, WskS2, WskS1, WskS2, WskS3, WskS4, WskS5 e WskS6, você terá WskS(0), WskS(1), WskS(2), ... WskS(n). Todas as conexões serão *recebidas* no WskS(0), porém serão *aceitas* (Accept) nos demais sockets (e com a instrução Load você poderá criar quantos quiser em tempo de execução).Abraços,Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim:

 

Load WskS(i)

Onde "i" é o novo índice (1, 2, 3, 4, 5, ...).

 

Abraços,

 

Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.