클라이언트 응용 프로그램과 서버 응용 프로그램간에 간단한 통신을 만들고 있습니다.C# 응용 프로그램이 TCP를 통해 통신 할 때 느려짐
서버 :
TcpListener tcp = new TcpListener(IPAddress.Parse("192.168.1.66"),9000);
tcp.Start();
TextBox.Text += "Start Listening \r\n"; //1
Socket s = tcp.AcceptSocket();
TextBox.Text += "Client Has Connected \r\n";
보온는, 문자열 번호 1은 클라이언트가 연결 될 때까지 응용 프로그램이 단순히 정지, 심지어 창을 끌 수 없습니다 표시되지 않습니다 다음과 같은 방법을 발생합니다.
이TextBox.Text += "Start Listening \r\n";
System.Threading.Thread.Sleep(1000);
Socket s = tcp.AcceptSocket();
TextBox.Text += "Client Has Connected \r\n";
여전히이 첫 번째 메시지가 인쇄되는 것을 허용하지 않습니다 그리고 소켓 검색 :
나는 지연을 추가했습니다. 응용 프로그램은 클라이언트가 연결될 때까지 멈추지 않습니다.
UI 스레드를 차단하고 있습니다. 그러지 마. 읽기 : http://stuff.seans.com/2009/05/21/net-basics-do-work-in-background-thread-to-keep-gui-responsive/ –
그냥 호기심에서, 거기에 'WCF'보다는 평범한 소켓을 사용하는 특별한 이유? – PoweredByOrange
@ programmer93 - 그가 너무 녹초가되어서 스레드 차단을 이해하지 못한다면 WCF도 머리로 쓰일 것입니다. –