AJUDA COM SOCKETS NO .NET VB OU C#

ELBERNOGUEIRA 14/09/2011 11:42:36
#384223
Olá pessoal,

é o seguinte, estou fazendo um trabalho na faculdade para o fim do semestre. Estou fazendo um jogo de truco(faço faculdade de games), porém ele tem que ser multiplayer, ou seja via rede.


O meu problema é o seguinte. Eu estou montando um formulário com o jogo(que já funciona) e um chat. Eu li alguns tutoriais e vi alguns códigos na net, porém, quando se usa a lib system.net.sockets, parece que eu tenho que ter um while(true). O que bloqueia meu form para o desenrolar do jogo. Tentei usar com threads, mas a thread não consegue acessar objetos do form.

Tentei usar o winsock, mas deu um erro dizendo que eu preciso registrar a dll do winsock. Eu registrei e não resolveu.

Alguém pode me dar uma luz, por favor? Só lembrando que eu tenho o jogo com o multiplayer, só preciso adaptá-lo para rede.

Obrigado!
KERPLUNK 14/09/2011 11:55:26
#384224
Fez aplicação desktop? Se for web facilita muito, pode usar WCF ou mesmo WebService SOAP
ELBERNOGUEIRA 14/09/2011 12:02:57
#384225
Fiz pra desktop sim. Não tenho muito conhecimento web =/
KERPLUNK 14/09/2011 12:12:38
#384227
Bom, mesmo usando aplicação desktop, vc pode fazer um webservice/WCF para fazer essa parte de comunicação.
ELBERNOGUEIRA 14/09/2011 13:24:33
#384238
Pode me indicar alguns links sobre esse assunto?
KERPLUNK 14/09/2011 13:46:20
#384241
Neste link tem um bom começo
ASHKATCHUP 14/09/2011 23:11:07
#384293
Neste Loop do sockets, você pode usar o DOEVENTS


Application.DoEvents();


Assim, o form funcionará normalmente =)
ELBERNOGUEIRA 15/09/2011 08:13:16
#384304
OK, vou tentar! Valeu!
ELBERNOGUEIRA 15/09/2011 08:38:06
#384310
ASHKATCHUP, não funcionou cara.. Veja se eu fiz da maneira correta.

Segue o trecho do código

frm.Show()
Application.DoEvents()
While (True)
contador += 1
clientSocket = serverSocket.AcceptTcpClient() [ô]Ele congela o form aqui, pois espera a request do socket cliente
Application.DoEvents()
.
.
.

Se eu criar uma thread, eu consigo, no final dela retornar o socket conectado?
Tópico encerrado , respostas não são mais permitidas