Este é um post disponível para assinantes MVPVideo: Visual Basic.Net(curso básico)- Parte LIX –Sockets-I (Comunicação Cliente-Servidor)
Veja também que a comunicação através de sockets no VB.Net pode ser feita através dos protocolos TCP e UDP.
Título: Visual Basic.Net(curso básico)- Parte LIX –Sockets-I (Comunicação Cliente-Servidor)
Tempo: 20:19 min
Mini Resumo: O Visual Basic .Net é uma das linguagens do Microsoft .Net framework que possui aprimorados recursos, inclusive para trabalhar com comunicação cliente - servidor.Para se criar aplicativos com comunicação cliente-servidor no Visual Basic .Net utilizamos os sockets. Os sockets podem ser considerados canais de comunicação que permitem que um processo possa se comunicar com outro processo presente no mesmo computador ou num computador remoto, enviando e recebendo dados.A comunicação através de sockets no Visual Basic .Net pode ser feita através do TCP (Transmission Control Protocol) e do UDP (User Datagram Protocol), sendo que a diferença básica entre eles é que o TCP é baseado em conexões e existe um controle de integridade das informações, enquanto que no UDP não existe controle sobre a integridade das informações e é mais rápido que o TCP.O Visual Basic .Net utiliza os sockets de stream, onde um processo pode se comunicar com outro processo presente no mesmo computador ou em um computador diferente.
Tecnologias utilizadas: VB.NET, Visual Studio 2008
Exemplos construídos: Exemplo prático em VB.Net
Palavras chaves: Curso, VB.NET, Visual Basic .Net, Visual Studio 2008, Sockets, Thread, Cliente, Servidor, TCP.

4 COMENTÁRIOS
Operação entre threads inválida: controle ''TextBoxOutput'' acessado de um thread que não é aquele no qual foi criado.
(segue imagem de erro em anexo).
Como posso corrigir este erro?
Quando Você não pode acessar diretamente componentes visuais do firmulário a partir de outra thread. Para isso você pode usar delegates explícitamente e chamar o método BeginInvoke ou Invoke ou fazer como no exemplo abaixo (não testei, qualquer coisa posta aqui):
System.Threading.Thread rTh = new System.Threading.Thread(new System.Threading.ThreadStart(GetImoveis));
rTh.Start();
private void GetImoveis()
{
if (this.InvokeRequired){
this
.Invoke(new MethodInvoker(GetImoveis)); return;}
int iCount = 0;
this.progressBar1.Value = iCount;
iCount += 1;
this.lbFim.Text = DateTime.Now.ToShortDateString() + " - " + DateTime.Now.ToLongDateString();
Thread.Sleep(myTimer);
}
}

Existe uma solução?
Operação entre threads inválida: controle 'tbOutput' acessado de um thread que não é aquele no qual foi criado.
CheckForIllegalCrossThreadCalls = false;
Curso(s):
Formações:
Space do autor

download

0
0
